A multi-path early warning method and system

By receiving early warning information query commands, the parameter information of multipath objects is obtained, and the operating status of multipath equipment is determined and output, which solves the problem of inconvenient and timely acquisition of multipath objects in the prior art, and improves the degree of automation and stability of equipment operation.

CN114461489BActive Publication Date: 2025-08-12CHINA TELECOM CLOUD TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111616726.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-27
Publication Date
2025-08-12
Estimated Expiration
2041-12-27

AI Technical Summary

Technical Problem

The actual health conditions of multi-path objects in the prior art are laborious and inconvenient to obtain in a timely manner, resulting in operation and maintenance personnel not being able to understand the operation and maintenance status of multi-path equipment in a timely manner.

Method used

Provide a multi-path early warning method and system, by receiving early warning information query commands, obtain parameter information and map.total_paths variable value in the alarm object of the multi-path object, determine the warning information of the corresponding path, and output the warning information, including path failure, path loss, path jitter, path change and back-end storage changes.

Benefits of technology

It realizes timely and automatically obtains the actual health of multi-path objects without artificial analysis of logs, improving the operation efficiency and stability of multi-path equipment and reducing operation and maintenance difficulties.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114461489B_ABST
    Figure CN114461489B_ABST
Patent Text Reader

Abstract

The present application provides a multipath early warning method and system, comprising: upon receiving an early warning information query command, obtaining parameter information from an alarm object of the multipath object corresponding to the query command in a computer-stored multipath and the corresponding map.total_paths variable value; determining early warning information corresponding to the corresponding path based on the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer; and outputting the early warning information corresponding to the early warning information query command. This solution enables timely and automatic acquisition of the actual health status of multipath objects, eliminating the need for manual log analysis. This approach is both time-saving and efficient, enabling timely understanding of the operating status of multipath devices and providing reliable assurance for efficient device operation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to a multi-path early warning method and system, and belongs to the technical field of multi-path early warning solutions in cloud computing storage. Background Art

[0002] Multipath storage is widely used in cloud computing storage due to its advantages, including failover and recovery, I / O load balancing, disk virtualization, and filtering of I / O suspension and transient jitter. Multipathing makes the system more robust and stable, and improves I / O bandwidth.

[0003] Currently, the most widely used open-source multipathing software in cloud computing storage is Red Hat's multipath-tools. However, multipath-tools lacks a multipathing alarm framework, including mechanisms for defining, checking, reporting, and querying multipathing-related alarms. Currently, only personnel with limited storage multipathing knowledge can manually analyze large amounts of logs and perform status queries to determine the actual health status of each multipathing object (whether it is available, whether there are potential risks, etc.), which is time-consuming and laborious. Furthermore, typical operations and maintenance personnel cannot promptly understand the actual health status of each multipathing object on the host (whether it is available, whether there are potential risks, etc.), making it difficult to obtain the actual health status of multipathing objects in a timely manner. Furthermore, even those who do have access to the actual health status can only determine the actual health status of multipathing objects through manual analysis of large amounts of logs and status queries, which is time-consuming and labor-intensive.

[0004] Therefore, in the existing technical solutions, it is time-consuming and laborious to obtain the actual health status of the multi-path objects, and it is inconvenient to obtain them in time. Summary of the Invention

[0005] The present application provides a multi-path early warning method and system to solve the technical problem in existing technical solutions that the actual health status of multi-path objects is time-consuming and laborious, and inconvenient to obtain in a timely manner.

[0006] In a first aspect, an embodiment of the present application provides a multipath warning method for warning of operational failures of multipath objects in cloud computing storage. The method includes:

[0007] Upon receiving a warning information query command, obtaining parameter information in an alarm object of a multipath object corresponding to the query command in a computer storage corresponding to the multipath and a corresponding map.total_paths variable value stored in the computer; wherein the parameter information in the alarm object includes an alarm.map_failed value, an alarm.path_loss value, an alarm.jitter value, and an alarm.backend_change value;

[0008] Determine the warning information corresponding to the corresponding path according to the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer;

[0009] Output the warning information corresponding to the warning information query command; the computer stores the corresponding map.total_paths variable value for determining the number of total paths.

[0010] In one embodiment, the warning information query command is a "multipathd show alarms" command, a "multipathd show alarm mapfailed" command, a "multipathd show alarm pathfailed" command, a "multipathd show alarm pathloss" command, a "multipathd show alarm pathjitter" command, or a "multipathd show alarm backendchange" command.

[0011] In one embodiment, if the warning information query command is a "multipathd show alarms" command, then: obtaining parameter information in the alarm object of the multipath object corresponding to the query command in the multipath corresponding to the computer storage, including: obtaining the alarm.map_failed value, alarm.path_loss value, alarm.path_jitter value, alarm.path_failed value, and alarm.backend_change value of each multipath object in the computing storage;

[0012] Determining the warning information corresponding to the corresponding path according to the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer includes:

[0013] If the alarm.map_failed value of any multipath object in the calculation storage is true, the unique identifier of the multipath object whose alarm.map_failed value is true is stored in the mapfailed_list list;

[0014] If the alarm.path_loss value of any multipath object in the calculation storage is true, the unique identifier of the multipath object with the alarm.path_loss value being true is stored in the pathloss_list list;

[0015] If the alarm.path_jitter value of any multipath object in the calculation storage is true, the unique identifier of the multipath object whose alarm.path_jitter value is true is stored in the pathjitter_list list;

[0016] If the alarm.path_failed value of any multipath object in the calculation storage is true, the unique identifier of the multipath object whose alarm.path_failed value is true is stored in the pathfailed_list list;

[0017] If the alarm.backend_change value of any multipath object in the calculation storage is true, the unique identifier of the multipath object whose alarm.backend_change value is true is stored in the backendchange_list list;

[0018] The output of the warning information corresponding to the warning information query command includes:

[0019] Displays a target list of update operations within a preset time period, wherein the target list is at least one of a mapfailed_list list, a pathloss_list list, a pathjitter_list list, a pathfailed_list list, and a backendchange_list list.

[0020] In one embodiment, if the warning information query command is the "multipathd show alarmmapfailed" command, then

[0021] Obtaining parameter information in an alarm object of a multipath object corresponding to the query command in a multipath corresponding to computer storage, including:

[0022] Traverse and obtain the alarm.map_failed value of the multipath object corresponding to the computer storage;

[0023] The warning information corresponding to the corresponding path is determined according to the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer, including:

[0024] If the alarm.map_failed value of any multipath object is true, the unique identifier of the target multipath object whose alarm.map_failed value is true and the multipath device name are stored in the mapfailed_list list;

[0025] The output of the warning information corresponding to the warning information query command includes:

[0026] Outputs the updated items in the mapfailed_list list within the preset time.

[0027] In one embodiment, if the warning information query command is the "multipathd show alarmpathfailed" command, then

[0028] Obtaining parameter information in an alarm object of a multipath object corresponding to the query command in a multipath corresponding to computer storage, including:

[0029] Traverse and obtain the alarm.path_failed value of the multipath object corresponding to the computer storage;

[0030] The warning information corresponding to the corresponding path is determined according to the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer, including:

[0031] If the alarm.path_failed value of any multipath object is true, the unique identifier of the target multipath object whose alarm.path_failed value is true and the multipath device name are stored in the pathfailed_list list;

[0032] The output of the warning information corresponding to the warning information query command includes:

[0033] Outputs updated items in the pathfailed_list list within the preset time.

[0034] In one embodiment, if the warning information query command is the "multipathd show alarmpathloss" command, then

[0035] Obtaining parameter information in an alarm object of a multipath object corresponding to the query command in a multipath corresponding to computer storage, including:

[0036] Traverse and obtain the alarm.path_loss value of the multipath object corresponding to the computer storage;

[0037] The warning information corresponding to the corresponding path is determined according to the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer, including:

[0038] If the alarm.path_loss value of any multipath object is true, the unique identifier of the target multipath object with the alarm.path_loss value being true and the multipath device name are stored in the pathloss_list list;

[0039] The output of the warning information corresponding to the warning information query command includes:

[0040] Output the updated items in the pathloss_list list within the preset time.

[0041] In one embodiment, if the warning information query command is the "multipathd show alarmpathjitter" command, then

[0042] Obtaining parameter information in an alarm object of a multipath object corresponding to the query command in a multipath corresponding to computer storage, including:

[0043] Traverse and obtain the alarm.path_jitter value of the multipath object corresponding to the computer storage;

[0044] The warning information corresponding to the corresponding path is determined according to the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer, including:

[0045] If the alarm.path_jitter value of any multipath object is true, the unique identifier of the target multipath object with the alarm.path_jitter value being true and the multipath device name are stored in the pathjitter_list list;

[0046] The output of the warning information corresponding to the warning information query command includes:

[0047] Outputs updated items in the pathjitter_list list within the preset time.

[0048] In one embodiment, if the warning information query command is the "multipathd show alarmbackendchange" command, then

[0049] Obtaining parameter information in an alarm object of a multipath object corresponding to the query command in a multipath corresponding to computer storage, including:

[0050] Traverse and obtain the alarm.path_jitter value of the multipath object corresponding to the computer storage;

[0051] The warning information corresponding to the corresponding path is determined according to the parameter information in the alarm object and / or the corresponding alarm.backend_change variable value stored in the computer, including:

[0052] If the alarm.path_jitter value of any multipath object is true, the unique identifier and multipath device name of the target multipath object whose alarm.backend_change value is true are stored in the backendchange_list list;

[0053] The output of the warning information corresponding to the warning information query command includes:

[0054] Outputs the updated items in the backendchange_list list within the preset time.

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

[0056] For each multipath object map in cloud computing storage, add an alarm object;

[0057] Update the corresponding attribute values in the corresponding alarm object according to the running status of the object of each path; the attribute values included in the alarm object are: alarm.map_failed value, alarm.path_loss value, alarm.jitter value, alarm.path_filed value, alarm.backend_change value and alarm.backend_change_time value.

[0058] In a second aspect, an embodiment of the present application provides a multipath warning system for providing an early warning of operational failures of multipath objects in cloud computing storage. The system includes:

[0059] An acquisition module is configured to, upon receiving an early warning information query command, acquire parameter information in an alarm object of a multipath object corresponding to the query command in a computer storage corresponding to the multipath and a corresponding map.total_paths variable value stored in the computer storage; wherein the parameter information in the alarm object includes an alarm.map_failed value, an alarm.path_loss value, an alarm.jitter value, and an alarm.backend_change value;

[0060] An early warning information determination module is used to determine the early warning information corresponding to the corresponding path based on the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer;

[0061] The output module is used to output the warning information corresponding to the warning information query command.

[0062] The beneficial effects of this application are:

[0063] The multipath warning method provided by the embodiment of the present application first obtains the parameter information in the alarm object of the multipath object corresponding to the query command in the multipath stored in the computer and the map.total_paths variable value corresponding to the computer storage upon receiving the warning information query command; wherein the parameter information in the alarm object includes the alarm.map_failed value, the alarm.path_loss value, the alarm.Jitter value, and the alarm.backend_change value; then, the warning information corresponding to the corresponding path is determined based on the parameter information in the alarm object and / or the map.total_paths variable value corresponding to the computer storage; finally, the warning information corresponding to the warning information query command is output. This method can realize the timely and automatic acquisition of the actual health status of the multipath object without the need for manual log analysis, which is time-saving and efficient, and can timely understand the operating status of the multipath device, providing reliable guarantee for the efficient operation of the device.

[0064] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application and to implement it in accordance with the contents of the specification, the following is a detailed description of the preferred embodiments of the present application in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0065] Figure 1 A flowchart of a multi-path early warning method provided in an embodiment of the present application;

[0066] Figure 2Schematic diagram of a path failure detection process executed after receiving the multipathd show alarm mapfailed command in an embodiment of the present application;

[0067] Figure 3 This is a schematic diagram of a path jitter detection process executed after receiving the multipathd show alarm pathjitter command in an embodiment of the present application;

[0068] Figure 4 This is a schematic diagram of a path loss detection process executed after receiving the multipathd show alarm pathloss command in an embodiment of the present application;

[0069] Figure 5 Schematic diagram of a path change detection process executed after receiving the multipathd show alarm backendchange command in an embodiment of the present application;

[0070] Figure 6 A flowchart of a multi-path early warning method provided in yet another embodiment of the present application;

[0071] Figure 7 A module diagram of a multi-path early warning system provided in yet another embodiment of the present application;

[0072] Figure 8 A hardware block diagram of a multi-path warning system provided in accordance with an embodiment of the present application. DETAILED DESCRIPTION

[0073] The following examples are used to illustrate the present application but are not used to limit the scope of the present application.

[0074] The application of multipath objects in cloud computing storage is becoming more and more widespread. However, there are many disadvantages, such as (1) users cannot easily know whether there are multipath object failures or partial subpath failures in the system. They can only query through multipath-ll. If there are many multipath objects, it is necessary to manually determine which multipath objects have abnormal paths. If there are hundreds of multipath objects, the workload will be relatively large. The current solution does not have an active reporting mechanism, and the upper management cannot perceive it. It can only be discovered after the customer business is inaccessible and the operation and maintenance manually query. (2) When some paths in the multipath are always in a state of intermittent performance, it will not only affect the overall IO performance, but may even cause serious problems such as IO link blocking and upper-layer application jamming. Currently, there is no solution to check path status oscillation. Generally, after the business has been affected and the problem has been located, experienced operation and maintenance personnel and developers can only determine whether oscillation has occurred by querying and analyzing the multipath status and logs. Currently, there is no mechanism for automatically detecting path status oscillation and reporting. Generally, after the business has been affected and the problem has been located, operation and maintenance personnel and developers can query, analyze and determine whether path oscillation has occurred. Users cannot easily know whether there is a storage link oscillation fault. (3) Users cannot know whether there are sub-paths lost in the multipath object, and the system faces the risk of performance degradation or even business interruption. When some paths in the multipath are lost, due to the current lack of automatic checking and reporting mechanism, the upper-layer business still has available paths that are temporarily unaffected. There is no abnormality in querying the multipath status through commands, but the load balancing capability has been weakened at this time. Moreover, when the remaining available paths are abnormal, there is no path to switch to. The multipath will become unavailable and the upper-layer business will be interrupted. In fact, the previously lost paths may be good. If these paths are not lost, the failover can be performed to ensure that the customer business is not interrupted. If there is an alarm for path loss, the occurrence of these two failure situations can be avoided to a large extent; (4) Multipath does not have an alarm similar to that indicating the change of the backend block device status. The operation and maintenance personnel will not be notified in time whether there is any abnormality in the backend storage, whether the backend storage configuration has changed or the link has changed, and they will not be able to eliminate the risk in time.

[0075] To address these issues, this patent proposes a new multipath alarm management framework: it mainly introduces five types of multipath alarms and provides corresponding detection, storage, reporting, and query management mechanisms for these five types of multipath alarms. This application provides a multipath early warning technology solution that improves the maintenance and management capabilities of multipath. Based on the most widely used open source multipath software multipath-tools, it adds a multipath early warning function, which makes up for the lack of multipath early warning mechanisms in existing technical solutions in terms of definition, inspection, reporting, and query. This solves the lack of multipath's function of automatically detecting multipath anomalies and reporting alarms to the upper layer, improves the automation level of multipath maintenance, reduces the difficulty and workload of multipath maintenance, and helps enhance the stability of the system.

[0076] Example 1

[0077] The present invention provides a multi-path early warning method for warning of operation failures of multi-path objects in cloud computing storage. Figure 1 As shown, the method includes:

[0078] Step S12: upon receiving the warning information query command, obtaining parameter information in the alarm object of the multipath object corresponding to the query command in the computer storage corresponding to the multipath and the corresponding map.total_paths variable value stored in the computer storage; wherein the parameter information in the alarm object includes the alarm.map_failed value, the alarm.path_loss value, the alarm.jitter value, and the alarm.backend_change value;

[0079] In the present embodiment, after or before receiving the early warning information query command, the path status is checked by polling the check thread. If it is found that all sub-paths in the multi-path object map have failed, the map.alarm.map_failed value is set to true (1). If it is found that the status of a path in the map has changed from bad to good, the alarm.map_failed flag of the map corresponding to the path is set to 0.

[0080] When the check thread checks the status of each path in rotation and finds a path in oscillation, it sets its status to pending. It then sets the jitter flag of the alarm object in the corresponding multipath object map to 1, and logs the alarm. When the status of all subpaths improves from pending and all other subpaths are cleared, indicating that no paths are in the filtered oscillation state, the alarm is cleared and map.alarm.jitter is set to 0.

[0081] When the check_path thread rotates to check the path status, it can check one by one whether the number of all subpaths under the map to which each path belongs is less than the map.total_paths variable. If it is less than, the path is lost, and map.alarm.path_loss is set to 1, and an alarm is generated and logged. If map.alarm.path_loss is 1 and the number of all subpaths under the map is greater than the value of the map.total_paths variable, it means that a new path has been added. In this case, map.total_paths is updated to the latest value, and map.alarm.path_loss is set to 0, and the alarm is cleared and logged. If map.alarm.path_loss is 1 and the number of all subpaths under the map is equal to map.total_paths, it means that the lost path has been found or automatically restored. In this case, map.alarm.path_loss is set to 0, and the alarm is cleared and logged.

[0082] When a "path change," "path remove," or "path add" uevent device hot-add event occurs for at least one multipath object map, the alarm.backend_change flag of the corresponding map for that path is set to 1; the alarm.backend_chang_time flag of the map is set to the current time; and an alarm is generated and logged. This alarm is a reminder only and does not necessarily indicate a system failure. Alarm Clear: This alarm is a reminder message, recording the time of the most recent uevent event triggered by the backend storage status change. It does not need to be cleared.

[0083] Based on the above assignment of the parameter values of the alarm object, when an early warning information query command is received, the parameter information in the alarm object of the multipath object corresponding to the query command in the computer storage and the map.total_paths variable value corresponding to the computer storage can be obtained; wherein the parameter information in the alarm object includes the alarm.map_failed value, the alarm.path_loss value, the alarm.jitter value, and the alarm.backend_change value;

[0084] Step S14: determining the warning information corresponding to the corresponding path according to the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer;

[0085] In the embodiment of the present application, after obtaining the parameter information in the alarm object of the multipath object map in the cloud computing storage, the corresponding fault can be determined based on the above-mentioned assignment principle.

[0086] Step S16: outputting the warning information corresponding to the warning information query command; the computer stores the corresponding map.total_paths variable value for determining the number of total paths.

[0087] In an embodiment of the present application, the output format of the warning information can be set according to actual needs, such as outputting the unique identifier of the target path where the fault occurs and the name of the corresponding multipath device. When there are multiple faulty multipath objects, the fault data items can be output and displayed in the form of a list.

[0088] In an embodiment of the present application, the warning information query command is the "multipathd show alarms" command, the "multipathd show alarm mapfailed" command, the "multipathd show alarm pathfailed" command, the "multipathd show alarm pathloss" command, the "multipathd show alarm pathjitter" command or the "multipathd show alarm backendchange". The above six command lines can be used to conveniently obtain whether there is a multipath abnormality. The multipathd show alarms command displays all alarm statistics on the host, and if it is normal, it displays none. Among them, the multipathd show alarm mapfailed command is used to display information about all failed multipath objects on the host, and if it is normal, it displays none. The multipathd show alarm pathloss command is used to display information about all multipath objects with path loss on the host, and if it is normal, it displays none.

[0089] The multipathd show alarm pathjitter command is used to display information about all multipath objects with link jitter on the host. If the error is normal, it displays none. The multipathd show alarm pathfailed command is used to display information about all multipath objects with path aging on the host. If the error is normal, it displays none. The multipathd showalarm backendchange command is used to display information about all multipath objects with backend storage changes on the host. If the error is normal, it displays none. The displayed multipath object information includes the unique identifier of the faulty multipath object, the list where the fault is stored, and the device corresponding to the faulty path.

[0090] In an embodiment of the present application, if the warning information query command is a "multipathd show alarms" command, then: obtaining parameter information in the alarm object of the multipath object corresponding to the query command in the multipath corresponding to the computer storage, including: obtaining the alarm.map_failed value, alarm.path_loss value, alarm.path_jitter value, alarm.path_failed value, and alarm.backend_change value of each multipath object in the computing storage;

[0091] Determining the warning information corresponding to the corresponding path according to the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer includes:

[0092] If the alarm.map_failed value of any multipath object in the calculation and storage is true, the corresponding warning information is determined to be "path failure warning information", and the unique identifier of the multipath object with the alarm.map_failed value being true is stored in the mapfailed_list list; wherein, if the alarm.map_failed value corresponding to a said map is true, the corresponding warning information is determined to be "path failure warning information";

[0093] If the alarm.path_loss value of any multipath object in the calculation storage is true, the unique identifier of the multipath object whose alarm.path_loss value is true is stored in the pathloss_list list; wherein, if the alarm.path_loss value is true, the warning information corresponding to the target multipath object whose alarm.path_loss value is true is determined to be "path loss warning information";

[0094] If the alarm.path_jitter value of any multipath object in the calculation and storage is true, the unique identifier of the multipath object with the alarm.path_jitter value being true is stored in the pathjitter_list list; wherein, if the alarm.path_jitter value is true, the warning information corresponding to the target multipath object with the alarm.path_jitter value being true is determined to be "path jitter warning information";

[0095] If the alarm.path_failed value of any multipath object in the calculation storage is true, the unique identifier of the multipath object whose alarm.path_failed value is true is stored in the pathfailed_list list; wherein, if the alarm.path_failed value is true, the warning information corresponding to the target multipath object whose alarm.path_failed value is true is determined to be "path failure warning information";

[0096] If the alarm.backend_change value of any multipath object in the calculation storage is true, the unique identifier of the multipath object whose alarm.backend_change value is true is stored in the backendchange_list list; wherein, if the alarm.backend_change value is true, the warning information corresponding to the target multipath object whose alarm.backend_change value is true is determined to be "path change warning information";

[0097] The output of the warning information corresponding to the warning information query command includes:

[0098] Displays a target list of update operations within a preset time period, wherein the target list is at least one of a mapfailed_list list, a pathloss_list list, a pathjitter_list list, a pathfailed_list list, and a backendchange_list list.

[0099] In the embodiment of the present application, a corresponding output module needs to be set to output the fault multipath object map information queried when the warning information query command is the "multipathd show alarms" command. As an optional embodiment, the following command line code can be set:

[0100] Setting code output when there is an alarm:

[0101] alarm summary:

[0102] map_failed alarm(critical):None

[0103] path_jitter alarm(critical):map4.wwid(dm-4)

[0104] path_loss alarm(serious):map2.wwid(dm-2)

[0105] path_failed alarm(normal):map1.wwid(dm-1)map3.wwid(dm-3)

[0106] backend_change alarm(info):map6.wwid(dm-6)

[0107] Setting code output when there is no alarm:

[0108] alarm summary:None

[0109] In the embodiments of the present application, "critical" represents a fatal level: this alarm has or will immediately directly affect the normal operation of customer services and requires immediate attention from operations and maintenance personnel, such as the "multipath failure alarm" and "link flap alarm"; "serious" represents a serious level: this alarm does not currently affect services, but there is a significant potential risk to the system. If not handled in a timely manner, it may cause customer service abnormalities in the future, such as the "path loss alarm"; "normal" represents a general level: this alarm indicates that the system may have an abnormality, which may be a temporary change in the link. It is generally recoverable, but operations and maintenance personnel need to confirm whether it has been restored, such as the "path failure alarm." "info" represents a prompt level: this alarm is for informational purposes only and may not actually cause any harm. Operations and maintenance personnel can stop after confirming that there are no abnormalities in the environment.

[0110] In the embodiment of the present application, if the warning information query command is the "multipathd showalarmmapfailed" command, then

[0111] Obtaining parameter information in an alarm object of a multipath object corresponding to the query command in a multipath corresponding to computer storage, including:

[0112] Traverse and obtain the alarm.map_failed value of the multipath object corresponding to the computer storage;

[0113] The warning information corresponding to the corresponding path is determined according to the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer, including:

[0114] If the alarm.map_failed value of any multipath object is true, the unique identifier of the target multipath object whose alarm.map_failed value is true and the multipath device name are stored in the mapfailed_list list;

[0115] The output of the warning information corresponding to the warning information query command includes:

[0116] Outputs the updated items in the mapfailed_list list within the preset time.

[0117] In the embodiment of the present application, a corresponding output module needs to be set to output the faulty multipath object map information queried when the warning information query command is the "multipathd show alarm mapfailed" command. As an optional embodiment, the following command line code can be set:

[0118] Setting code output when there is an alarm:

[0119] map failed alarm:1

[0120] effected maps:map9.wwid(dm-9)

[0121] level:critical

[0122] Output when there is no alarm:

[0123] map failed alarm:None

[0124] Setting code output when there is no alarm:

[0125] map failed alarm:None

[0126] In the embodiment of the present application, if the warning information query command is the "multipathd show alarmpathfailed" command, then

[0127] Obtaining parameter information in an alarm object of a multipath object corresponding to the query command in a multipath corresponding to computer storage, including:

[0128] Traverse and obtain the alarm.path_failed value of the multipath object corresponding to the computer storage;

[0129] The warning information corresponding to the corresponding path is determined according to the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer, including:

[0130] If the alarm.path_failed value of any multipath object is true, the unique identifier of the target multipath object whose alarm.path_failed value is true and the multipath device name are stored in the pathfailed_list list;

[0131] The output of the warning information corresponding to the warning information query command includes:

[0132] Outputs updated items in the pathfailed_list list within the preset time.

[0133] Specifically, in the embodiments of this application, see Figure 2 As shown, when the check thread checks the path status in rotation, if it is found that all sub-paths in the map have failed, ap.alarm.map_failed is set to 1, and an alarm is generated and logged. Alarm cancellation: When it is found that the status of a path in the map has changed from bad to good, the alarm.map_failed flag of the map corresponding to the path is set to 0, and the alarm is cancelled and logged. For a single or partial path map, when the check thread checks the path status in rotation, if it is found that the path has failed, the alarm.path_failed of the map to which the path belongs is set to 1, and an alarm is generated and logged. Alarm cancellation: When it is found that the path status has changed from bad to good, check whether the status of all sub-paths in the map corresponding to the path are good. If they are all good, set both the map.alarm.path_failed flag and the map.alarm.map_failed flag to 0, and the alarm is cancelled and logged. Otherwise, no additional processing is performed.

[0134] In the embodiment of the present application, a corresponding output module needs to be set to output the fault multipath object map information queried when the warning information query command is the "multipathd show alarm pathfailed" command. As an optional embodiment, the following command line code can be set:

[0135] Setting code output when there is an alarm:

[0136] path failed alarm:2

[0137] effected maps:map5.wwid(dm-5)map10.wwid(dm-10)

[0138] level:normal

[0139] Setting code output when there is no alarm:

[0140] path failed alarm:None

[0141] In the embodiment of the present application, if the warning information query command is the "multipathd show alarmpathloss" command, then

[0142] Obtaining parameter information in an alarm object of a multipath object corresponding to the query command in a multipath corresponding to computer storage, including:

[0143] Traverse and obtain the alarm.path_loss value of the multipath object corresponding to the computer storage;

[0144] The warning information corresponding to the corresponding path is determined according to the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer, including:

[0145] If the alarm.path_loss value of any multipath object is true, the unique identifier of the target multipath object with the alarm.path_loss value being true and the multipath device name are stored in the pathloss_list list;

[0146] The output of the warning information corresponding to the warning information query command includes:

[0147] Output the updated items in the pathloss_list list within the preset time. Figure 4As shown, alarm generation: when the check_path thread checks the path status in rotation, it checks whether the number of all sub-paths under the map to which the path belongs is less than the map.total_paths variable. If it is less, it means the path is lost, and map.alarm.path_loss is set to 1, and the alarm is generated and logged. Alarm cancellation: if map.alarm.path_loss is 1 and the number of all sub-paths under the map is greater than map.total_paths, it means that a new path has been added, update map.total_paths to the latest and set map.alarm.path_loss to 0, and cancel the alarm and log. If map.alarm.path_loss is 1 and the number of all sub-paths under the map is equal to map.total_paths, it means the lost path has been found or automatically recovered, and map.alarm.path_loss is set to 0, and the alarm is canceled and logged.

[0148] In this embodiment of the present application, a corresponding output module needs to be set to output the fault multipath object map information queried when the warning information query command is the "multipathd show alarm pathloss" command. As an optional embodiment, the following command line code can be set:

[0149] Setting code output when there is an alarm:

[0150] path loss alarm:3

[0151] effected maps:map1.wwid(dm-5)map2.wwid(dm-10)map9.wwid(dm-9)

[0152] level:serious;

[0153] Setting code output when there is no alarm:

[0154] path loss alarm:None7.

[0155] In the embodiment of the present application, if the warning information query command is the "multipathd show alarmpathjitter" command, then

[0156] Obtaining parameter information in an alarm object of a multipath object corresponding to the query command in a multipath corresponding to computer storage, including:

[0157] Traverse and obtain the alarm.path_jitter value of the multipath object corresponding to the computer storage;

[0158] The warning information corresponding to the corresponding path is determined according to the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer, including:

[0159] If the alarm.path_jitter value of any multipath object is true, the unique identifier of the target multipath object with the alarm.path_jitter value being true and the multipath device name are stored in the pathjitter_list list;

[0160] For details, please refer to Figure 3 As shown, after enabling multipath jitter / oscillation filtering, the check thread, during path status rotation, sets the path status to pending if it detects a path in oscillation. The jitter flag in the corresponding multipath map's alarm object is set to 1, and an alarm is logged. To clear the alarm: When the status of all subpaths improves from pending and all other subpaths are cleared, indicating that no paths are in the oscillation-filtered state, the alarm is cleared by setting map.alarm.jitter to 0 and logging the cleared alarm.

[0161] The output of the warning information corresponding to the warning information query command includes:

[0162] Outputs updated items in the pathjitter_list list within the preset time.

[0163] In the embodiment of the present application, a corresponding output module needs to be set to output the fault multipath object map information queried when the warning information query command is the "multipathd show alarm pathjitter" command. As an optional embodiment, the following command line code can be set:

[0164] Setting code output when there is an alarm:

[0165] path jitter alarm:1

[0166] effected maps:map0.wwid(dm-0)

[0167] level:critical

[0168] Setting code output when there is no alarm:

[0169] path jitter alarm:None

[0170] In the embodiment of the present application, if the warning information query command is the "multipathd show alarmbackendchange" command, then

[0171] Obtaining parameter information in an alarm object of a multipath object corresponding to the query command in a multipath corresponding to computer storage, including:

[0172] Traverse and obtain the alarm.path_jitter value of the multipath object corresponding to the computer storage;

[0173] The warning information corresponding to the corresponding path is determined according to the parameter information in the alarm object and / or the corresponding alarm.backend_change variable value stored in the computer, including:

[0174] If the alarm.path_jitter value of any multipath object is true, the unique identifier and multipath device name of the target multipath object whose alarm.backend_change value is true are stored in the backendchange_list list;

[0175] The output of the warning information corresponding to the warning information query command includes:

[0176] Outputs the updated items in the backendchange_list list within the preset time.

[0177] See Figure 5 As shown, alarm generation: When the check_path thread checks the path status in rotation, it checks whether the number of all sub-paths under the map to which the path belongs is less than the map.total_paths variable. If it is less, it means the path is lost, and map.alarm.path_loss is set to 1, and the alarm is generated and logged. Alarm cancellation: If map.alarm.path_loss is 1 and the number of all sub-paths under the map is greater than map.total_paths, it means that a new path has been added. Update map.total_paths to the latest and set map.alarm.path_loss to 0, and cancel the alarm and log. If map.alarm.path_loss is 1 and the number of all sub-paths under the map is equal to map.total_paths, it means the lost path has been found or automatically recovered. Set map.alarm.path_loss to 0, and cancel the alarm and log.

[0178] In the embodiment of the present application, a corresponding output module needs to be set to output the fault multipath object map information queried when the warning information query command is the "multipathd show alarm backendchange" command. As an optional embodiment, the following command line code can be set:

[0179] Setting code output when there is an alarm:

[0180] backend change alarm:4

[0181] effected maps:map3.wwid(dm-3)map6.wwid(dm-6)map11.wwid(dm-11)map20.wwid(dm-20)

[0182] level:info

[0183] Setting code output when there is no alarm:

[0184] path failed alarm:None

[0185] In the examples of this application, see Figure 6 As shown, it also includes:

[0186] Step S10: For each multipath object map in the cloud computing storage, a new alarm object is added. First, in order to effectively obtain the corresponding attribute parameter values later, an alarm object is constructed for each multipath object map, and multiple attribute parameters are constructed in the alarm object, namely, the alarm.map_failed attribute parameter, the alarm.path_loss attribute parameter, the alarm.jitter attribute parameter, the alarm.path_filed attribute parameter, the alarm.backend_change attribute parameter, and the alarm.backend_change_time attribute parameter, which respectively represent the path failure attribute, the path loss attribute, the path oscillation attribute, the path full attribute, the path change attribute, and the path change time attribute.

[0187] Step S11: updating the corresponding attribute value in the corresponding alarm object according to the running status of the object in each path;

[0188] The attribute values included in the alarm object are: alarm.map_failed value, alarm.path_loss value, alarm.jitter value, alarm.path_filed value, alarm.backend_change value, and alarm.backend_change_time value.

[0189] In this embodiment of the present application, after a corresponding alarm object is set for each multipath object, the kernel can assign the corresponding state to the corresponding attribute parameters in the alarm object. Updates can be initiated upon receiving a corresponding warning information query command, or queries and updates of the alarm attribute parameters can be performed once every preset time period. The specific update time can be set according to actual needs.

[0190] In summary, the multipath warning method provided by the embodiment of the present application first obtains the parameter information in the alarm object of the multipath object corresponding to the query command in the multipath stored in the computer and the map.total_paths variable value corresponding to the computer storage upon receiving the warning information query command; wherein the parameter information in the alarm object includes the alarm.map_failed value, the alarm.path_loss value, the alarm.Jitter value, and the alarm.backend_change value; then, the warning information corresponding to the corresponding path is determined based on the parameter information in the alarm object and / or the map.total_paths variable value corresponding to the computer storage; finally, the warning information corresponding to the warning information query command is output. This method can realize the timely and automatic acquisition of the actual health status of the multipath object without the need for manual log analysis, which is time-saving and efficient, and can timely understand the operating status of the multipath device, providing reliable guarantee for the efficient operation of the device.

[0191] Figure 7 This is a block diagram of a multi-path warning system provided by an embodiment of the present application. This embodiment uses the device to Figure 1 The multi-path warning method shown in the figure is used as an example to illustrate. The system includes at least the following modules:

[0192] An acquisition module 71 is configured to, upon receiving a warning information query command, acquire parameter information in an alarm object of a multipath object corresponding to the query command in a computer storage corresponding to the multipath, and a corresponding map.total_paths variable value stored in the computer storage; wherein the parameter information in the alarm object includes an alarm.map_failed value, an alarm.path_loss value, an alarm.jitter value, and an alarm.backend_change value;

[0193] An early warning information determination module 72 is configured to determine early warning information corresponding to a corresponding path based on parameter information in the alarm object and / or a corresponding map.total_paths variable value stored in the computer;

[0194] The output module 73 is used to output the warning information corresponding to the warning information query command.

[0195] The multipath early warning system provided in the embodiment of the present application can realize timely and automatic acquisition of the actual health status of multipath objects without the need for manual log analysis, which is convenient and efficient. It can timely understand the operating status of multipath devices and provide reliable guarantees for the efficient operation of the devices.

[0196] The embodiment of the present application provides a multi-path warning system that can be used for the method executed by the business application system in the above embodiment. For relevant details, please refer to the above method embodiment. Its implementation principles and technical effects are similar and will not be repeated here.

[0197] Figure 8 This is a block diagram of a multipath warning system provided by one embodiment of the present application. The multipath warning system described in this embodiment can be a computing device such as a desktop computer, laptop computer, PDA, or cloud server. The device may include, but is not limited to, a processor and memory. The multipath warning system described in this embodiment includes at least a processor and memory. The memory stores a computer program that can be executed on the processor. When the processor executes the computer program, it implements the steps of the aforementioned multipath warning method embodiment. Alternatively, when the processor executes the computer program, it implements the functions of each module in the aforementioned multipath warning system embodiment.

[0198] Exemplarily, the computer program can be divided into one or more modules, which are stored in the memory and executed by the processor to implement the present invention. The one or more modules can be a series of computer program instruction segments capable of performing specific functions, and the instruction segments are used to describe the execution process of the computer program in the multi-path early warning system. For example, the computer program can be divided into an acquisition module, an early warning information determination module, and an output module. The specific functions of each module are as follows:

[0199] An acquisition module is configured to, upon receiving an early warning information query command, acquire parameter information in an alarm object of a multipath object corresponding to the query command in a computer storage corresponding to the multipath and a corresponding map.total_paths variable value stored in the computer storage; wherein the parameter information in the alarm object includes an alarm.map_failed value, an alarm.path_loss value, an alarm.jitter value, and an alarm.backend_change value;

[0200] An early warning information determination module is used to determine the early warning information corresponding to the corresponding path based on the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer;

[0201] The output module is used to output the warning information corresponding to the warning information query command.

[0202] The processor may include one or more processing cores, such as a quad-core processor, a hexa-core processor, etc. The processor is the control center of the multi-path warning system, and connects various parts of the multi-path warning system using various interfaces and lines.

[0203] The memory can be used to store the computer program and / or module, and the processor implements various functions of the multi-path early warning system by running or executing the computer program and / or module stored in the memory, and calling the data stored in the memory. In addition, the memory can include a high-speed random access memory, and can also include a non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), at least one disk storage device, a memory device, or other volatile solid-state storage device.

[0204] Those skilled in the art will appreciate that the device described in this embodiment is merely an example of a multipath warning system and does not constitute a limitation of a multipath warning system.

[0205] Of course, a multi-path warning system may also include fewer or more components, which is not limited in this embodiment.

[0206] Optionally, the present application also provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, it is used to implement the steps of the above-mentioned multi-path warning method.

[0207] Optionally, the present application also provides a computer product, which includes a computer-readable storage medium, in which a program is stored. The program is loaded and executed by a processor to implement the steps of the above-mentioned multi-path warning method embodiment.

[0208] The technical features of the above-mentioned embodiments can be combined arbitrarily. In order to make the description concise, not all possible combinations of the technical features in the above-mentioned 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.

[0209] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that a person skilled in the art could make various modifications and improvements without departing from the spirit of the present application, all of which fall within the scope of protection of the present application. Therefore, the scope of protection of the present patent application shall be determined by the appended claims.

Claims

1. A multipath early warning method for warning of operational failures of multipath objects in cloud computing storage, characterized in that: The method comprises: After receiving the early warning information query command, obtaining parameter information in the alarm object of the multipath object corresponding to the query command in the multipath stored in the computer and the map.total_paths variable value corresponding to the computer storage; wherein the parameter information in the alarm object includes the alarm.map_failed value, the alarm.path_loss value, the alarm.path_jitter value and the alarm.backend_change value, and the early warning information query command is the "multipathdshow alarms" command, the "multipathdshow alarmmapfailed" command, the "multipathdshow alarmpathfailed" command, the "multipathdshow alarmpathloss" command, the "multipathdshow alarmpathjitter" command or the "multipathdshow alarmbackendchange" command; Determine the warning information corresponding to the corresponding multi-path object according to the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer; Outputting the warning information corresponding to the warning information query command; the computer storing the corresponding map.total_paths variable value for determining the number of total paths.

2. The method according to claim 1, characterized in that If the warning information query command is "multipathdshow alarms", then: The acquiring of parameter information in the alarm object of the multipath object corresponding to the query command in the multipath stored in the computer includes: Get the alarm.map_failed value of each multipath object in the compute storage. alarm.path_loss value, alarm.path_jitter value, alarm.path_failed value, alarm.backend_change value; Determining the warning information corresponding to the corresponding path according to the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer includes: If the alarm.map_failed value of any multipath object in the calculation storage is true, the unique identifier of the multipath object whose alarm.map_failed value is true is stored in the mapfailed_list list; If the alarm.path_loss value of any multipath object in the calculation storage is true, the unique identifier of the multipath object with the alarm.path_loss value being true is stored in the pathloss_list list; If the alarm.path_jitter value of any multipath object in the calculation storage is true, the unique identifier of the multipath object whose alarm.path_jitter value is true is stored in the pathjitter_list list; If the alarm.path_failed value of any multipath object in the calculation storage is true, the unique identifier of the multipath object whose alarm.path_failed value is true is stored in the pathfailed_list list; If the alarm.backend_change value of any multipath object in the calculation storage is true, the unique identifier of the multipath object whose alarm.backend_change value is true is stored in the backendchange_list list; The output of the warning information corresponding to the warning information query command includes: Displays a target list of update operations within a preset time period, wherein the target list is at least one of a mapfailed_list list, a pathloss_list list, a pathjitter_list list, a pathfailed_list list, and a backendchange_list list.

3. The method according to claim 1, characterized in that If the warning information query command is "multipathdshow alarm mapfailed", then Obtaining parameter information in an alarm object of a multipath object corresponding to the query command in a multipath corresponding to computer storage, including: Traverse and obtain the alarm.map_failed value of the multipath object corresponding to the computer storage; The warning information corresponding to the corresponding path is determined according to the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer, including: If the alarm.map_failed value of any multipath object is true, the unique identifier of the target multipath object whose alarm.map_failed value is true and the multipath device name are stored in the mapfailed_list list; The output of the warning information corresponding to the warning information query command includes: Outputs the updated items in the mapfailed_list list within the preset time.

4. The method according to claim 1, wherein If the warning information query command is "multipathdshow alarm pathfailed" command, then Obtaining parameter information in an alarm object of a multipath object corresponding to the query command in a multipath corresponding to computer storage, including: Traverse and obtain the alarm.path_failed value of the multipath object corresponding to the computer storage; The warning information corresponding to the corresponding path is determined according to the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer, including: If the alarm.path_failed value of any multipath object is true, the unique identifier of the target multipath object whose alarm.path_failed value is true and the multipath device name are stored in the pathfailed_list list; The output of the warning information corresponding to the warning information query command includes: Outputs updated items in the pathfailed_list list within the preset time.

5. The method according to claim 1, wherein If the warning information query command is "multipathdshow alarm pathloss" command, then Obtaining parameter information in an alarm object of a multipath object corresponding to the query command in a multipath corresponding to computer storage, including: Traverse and obtain the alarm.path_loss value of the multipath object corresponding to the computer storage; The warning information corresponding to the corresponding path is determined according to the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer, including: If the alarm.path_loss value of any multipath object is true, the unique identifier of the target multipath object with the alarm.path_loss value being true and the multipath device name are stored in the pathloss_list list; The output of the warning information corresponding to the warning information query command includes: Output the updated items in the pathloss_list list within the preset time.

6. The method according to claim 1, characterized in that If the warning information query command is "multipathdshow alarm pathjitter" command, then Obtaining parameter information in an alarm object of a multipath object corresponding to the query command in a multipath corresponding to computer storage, including: Traverse and obtain the alarm.path_jitter value of the multipath object corresponding to the computer storage; The warning information corresponding to the corresponding path is determined according to the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer, including: If the alarm.path_jitter value of any multipath object is true, the unique identifier of the target multipath object with the alarm.path_jitter value being true and the multipath device name are stored in the pathjitter_list list; The output of the warning information corresponding to the warning information query command includes: Outputs updated items in the pathjitter_list list within the preset time.

7. The method according to claim 1, characterized in that If the warning information query command is "multipathdshow alarm backendchange", then Obtaining parameter information in an alarm object of a multipath object corresponding to the query command in a multipath corresponding to computer storage, including: Traverse and obtain the alarm.path_jitter value of the multipath object corresponding to the computer storage; The warning information corresponding to the corresponding path is determined according to the parameter information in the alarm object and / or the corresponding alarm.backend_change value stored in the computer, including: If the alarm.path_jitter value of any multipath object is true, the unique identifier and multipath device name of the target multipath object whose alarm.backend_change value is true are stored in the backendchange_list list; The output of the warning information corresponding to the warning information query command includes: Outputs the updated items in the backendchange_list list within the preset time.

8. The method according to any one of claims 1 to 7, characterized in that Also includes: For each multipath object map in cloud computing storage, add an alarm object; Update the corresponding attribute value in the corresponding alarm object according to the running status of the object in each path; The attribute values included in the alarm object are: alarm.map_failed value, alarm.path_loss value, alarm.path_jitter value, alarm.path_filled value, alarm.backend_change value, and alarm.backend_change_time value.

9. A multipath early warning system for warning of operational failures of multipath objects in cloud computing storage, characterized in that: The system comprises: An acquisition module is configured to, upon receiving an early warning information query command, acquire parameter information in an alarm object of a multipath object corresponding to the query command in a multipath stored in a computer and a map.total_paths variable value corresponding to the computer storage; wherein the parameter information in the alarm object includes an alarm.map_failed value, an alarm.path_loss value, an alarm.path_jitter value, and an alarm.backend_change value; and the early warning information query command is a "multipathd show alarms" command, a "multipathd show alarm mapfailed" command, a "multipathd show alarm pathfailed" command, a "multipathd show alarm pathloss" command, a "multipathd show alarm pathjitter" command, or a "multipathd show alarmbackendchange" command; An early warning information determination module is used to determine the early warning information corresponding to the corresponding path based on the parameter information in the alarm object and / or the corresponding map.total_paths variable value stored in the computer; The output module is used to output the warning information corresponding to the warning information query command; the computer stores the corresponding map.total_paths variable value for determining the number of total paths.

Citation Information

Patent Citations

  • Array multipath management method, array multipath management device and array multipath management system

    CN103023697A

  • Multipath storage device based on multi-dimensional health diagnosis

    US20180088809A1