Hardware engine channel monitoring method and device of disk array, equipment and medium

By building mapping relationships and business traffic sorting, selecting the monitoring target of the hardware RAID card, the flexibility of IO channel monitoring of the hardware RAID card is solved, and efficient resource utilization and rapid development are achieved.

CN120353393APending Publication Date: 2025-07-22SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510457355.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-11
Publication Date
2025-07-22

AI Technical Summary

Technical Problem

In the prior art, the IO channel monitoring method of hardware RAID cards cannot flexibly select monitoring targets, resulting in high complexity of chip design and serious waste of resources. Especially when the number of hanging disks is small or the degree of busyness is uneven, it is impossible to monitor efficiently.

Method used

By building the mapping relationship between the host namespace, disk array group, hard disk and hardware engine channels, select the target disk array group and hardware engine channels for monitoring based on business traffic sorting, and dynamically select the channels to be monitored.

Benefits of technology

It reduces the complexity of chip design, improves system flexibility, reduces R&D costs, shortens development time, and accelerates the speed of product launch.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120353393A_ABST
    Figure CN120353393A_ABST
Patent Text Reader

Abstract

The invention discloses a hardware engine channel monitoring method, device and equipment for a disk array and a medium, and relates to the technical field of computers, and the method comprises the steps: determining the service flow of each disk array group based on a first mapping table and the service flow issued to each host namespace by a host; the first mapping table is a table for recording a mapping relationship between each host namespace and each disk array group; sorting the service traffic of each disk array group, and determining a target disk array group according to a corresponding sorting result; determining a hardware engine channel of the target disk array group based on the second mapping table and the third mapping table, and monitoring the hardware engine channel; the second mapping table is a table for recording a mapping relationship between each disk array group and each hard disk; the third mapping table is a table for recording the mapping relation between each hard disk and each hardware engine channel. According to the method, the hardware engine channel needing to be monitored can be flexibly selected, so that the system flexibility is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technologies, and in particular, to a method, apparatus, device, and medium for monitoring a hardware engine channel of a disk array. Background Art

[0002] With the increasing business volume of modern data centers, the data running and stored on large servers has increased sharply. At the same time, the requirement for data storage speed is also getting higher and higher. In this context, a single physical disk is gradually insufficient to support the business of large systems in terms of capacity and security. Therefore, multiple hard disks need to be combined in a specific way to be used as a logical hard disk. In this context, RAID (Redundant Array of Independent Disks) technology came into being. For scenarios with strict performance requirements, it has gradually transitioned to a hardware RAID card. Many hardware resources of a hardware RAID card, such as engine deployment, IO (Input / Output) channel management, computing power allocation, etc., are actually deployed in advance at the beginning of hardware design and cannot be simply and quickly reconfigured according to the actual needs of users later.

[0003] Normally, since the design of the RAID card chip, efforts have been made to optimize the chip functional logic in various aspects, improve the algorithm performance, and reduce the chip area. At the same time, on the premise of ensuring that the chip functions and performance meet the design specifications, in order to observe the health status and performance indicators of key IPs of the chip, corresponding logic circuits and storage spaces also need to be designed to record specified data. In the conventional approach, usually all the key index data of a certain engine at a certain moment or a certain time period are displayed externally to achieve the purpose of observing the engine data. However, as mentioned above, for a simple engine, the design load of providing monitoring functions is acceptable, but for a complex engine, especially an IO disk drop engine, its own functional structure is already very complex. At the same time, it is also necessary to reserve M engines and N IO channels, and each channel has independent hardware resources. The implementation of the function itself has already consumed a large chip area. If all the IO channels are monitored one by one when implementing the monitoring function, it will obviously bring a great burden to the system. In addition, in an application scenario with a small number of attached disks, such as using two disks connected to two channels, most of the other channels are actually idle at this time. Monitoring the idle channels is unreasonable and unnecessary, and it also causes serious waste of resources. Most importantly, in the process of engineering practice, even when N channels are fully occupied by disks and the chip area is limited, the business busy degrees of each channel are not exactly the same. In most scenarios, it is not necessary to monitor all channels. How to decide which channels to select as monitoring targets among N channels is actually a difficult problem to solve. Summary of the Invention

[0004] The purpose of the embodiments of the present invention is to provide a method, device, equipment and medium for monitoring the hardware engine channels of a disk array, which can flexibly select the hardware engine channels to be monitored and improve the flexibility of the system. The specific solutions are as follows:

[0005] In a first aspect, the present invention provides a method for monitoring the hardware engine channels of a disk array, including:

[0006] Determining the service traffic of each disk array group based on the first mapping table and the service traffic sent by the host to each host namespace; the first mapping table is a table recording the mapping relationship between each host namespace and each disk array group;

[0007] Sorting the service traffic of each disk array group, and determining the target disk array group according to the corresponding sorting result;

[0008] Determining the hardware engine channels of the target disk array group based on the second mapping table and the third mapping table, and monitoring the hardware engine channels; the second mapping table is a table recording the mapping relationship between each disk array group and each hard disk; the third mapping table is a table recording the mapping relationship between each hard disk and each hardware engine channel.

[0009] Optionally, before determining the service traffic of each disk array group based on the first mapping table and the service traffic sent by the host to each host namespace, it further includes:

[0010] Constructing the total mapping relationship between each host namespace, each disk array group, each hard disk and each hardware engine channel based on the preset mapping rules;

[0011] Wherein, the preset mapping rules include any one or several combinations of one disk array group corresponding to multiple host namespaces, multiple hard disks constituting one disk array group, different hard disks in different disk array groups, and the hard disks and the hardware engine channels being mapped based on the preset rules; the preset rules include one-to-one sequential mapping between the hard disks and the hardware engine channels and / or random mapping between the hard disks and the hardware engine channels;

[0012] Constructing the first mapping table, the second mapping table and the third mapping table respectively based on the total mapping relationship;

[0013] After starting the input / output service flow of the host, using the monitoring component corresponding to the disk array to monitor each host namespace to count the service traffic sent by the host to each host namespace.

[0014] Optionally, determining the service traffic of each disk array group based on the first mapping table and the service traffic sent by the host to each host namespace includes:

[0015] Querying the host namespaces existing in the disk array group in the first mapping table;

[0016] Determine whether there are multiple host namespaces in the disk array group according to the query result;

[0017] Determine the service traffic of each disk array group according to the corresponding judgment result and the service traffic sent by the host to each host namespace.

[0018] Optionally, determining the service traffic of each disk array group according to the corresponding judgment result and the service traffic sent by the host to each host namespace includes:

[0019] Perform normalization processing on the service traffic sent by the host to each host namespace to obtain the normalized service traffic;

[0020] Determine the service traffic of each disk array group according to the corresponding judgment result and the normalized service traffic.

[0021] Optionally, determining the service traffic of each disk array group according to the corresponding judgment result and the normalized service traffic includes:

[0022] If there are multiple host namespaces in the disk array group, then sum up the normalized service traffic corresponding to each host namespace to obtain the corresponding sum result, and determine the sum result as the service traffic of the disk array group;

[0023] If there is only one host namespace in the disk array group, directly determine the normalized service traffic corresponding to the host namespace as the service traffic of the disk array group.

[0024] Optionally, sort the service traffic of each disk array group, and determine the target disk array group according to the corresponding sorting result, including:

[0025] Sort the service traffic of each disk array group in descending order, determine the disk array group with the first-ranked service traffic according to the sorting result, and determine the disk array group with the first-ranked service traffic as the target disk array group.

[0026] Optionally, determining the hardware engine channel of the target disk array group based on the second mapping table and the third mapping table includes:

[0027] Query the second mapping table to determine each target hard disk corresponding to the target disk array group;

[0028] Determine the hardware engine channel corresponding to each target hard disk according to the third mapping table.

[0029] In a second aspect, the present invention provides a monitoring device for the hardware engine channel of a disk array, including:

[0030] The device quantity determination module is used to determine the service traffic of each disk array group based on the first mapping table and the service traffic sent by the host to each host namespace; the first mapping table is a table recording the mapping relationship between each host namespace and each disk array group;

[0031] The target disk array group determination module is used to sort the service traffic of each disk array group and determine the target disk array group according to the corresponding sorting result;

[0032] The monitoring channel determination module is used to determine the hardware engine channel of the target disk array group based on the second mapping table and the third mapping table and monitor the hardware engine channel; the second mapping table is a table recording the mapping relationship between each disk array group and each hard disk; the third mapping table is a table recording the mapping relationship between each hard disk and each hardware engine channel.

[0033] In a third aspect, the present invention provides an electronic device, including:

[0034] A memory for storing a computer program;

[0035] A processor for executing the computer program to implement the foregoing method for monitoring the hardware engine channel of the disk array.

[0036] In a fourth aspect, the present invention provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the foregoing method for monitoring the hardware engine channel of the disk array is implemented.

[0037] In the present invention, the service traffic of each disk array group is determined based on the first mapping table and the service traffic sent by the host to each host namespace; the first mapping table is a table recording the mapping relationship between each host namespace and each disk array group; the service traffic of each disk array group is sorted, and the target disk array group is determined according to the corresponding sorting result; the hardware engine channel of the target disk array group is determined based on the second mapping table and the third mapping table, and the hardware engine channel is monitored; the second mapping table is a table recording the mapping relationship between each disk array group and each hard disk; the third mapping table is a table recording the mapping relationship between each hard disk and each hardware engine channel.

[0038] Beneficial effects: The present invention sorts the service traffic of the disk array group through the mapping relationships among each host namespace, each disk array group, each hard disk, and each hardware engine channel, and determines the hardware engine channels to be monitored according to the corresponding sorting results. In this way, the method of blindly monitoring all channels can be avoided, effectively reducing the chip design complexity. The characteristic of dynamically selecting the monitoring target enables the RAID monitoring unit to select the required monitoring channels according to the actual service conditions of the RAID card, so as to improve the system flexibility, reduce the R & D cost, shorten the development time, and accelerate the product listing speed. Brief Description of the Drawings

[0039] To more clearly illustrate the embodiments of the present invention, the following will briefly introduce the drawings required in the embodiments. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained according to these drawings.

[0040] Figure 1 Flowchart of a method for monitoring hardware engine channels of a disk array provided by an embodiment of the present invention;

[0041] Figure 2 Schematic diagram of engine channel resources of a disk array card provided by an embodiment of the present invention;

[0042] Figure 3 Schematic diagram of an IO load management relationship mapping provided by an embodiment of the present invention;

[0043] Figure 4 Schematic diagram of the structure of an IO load management relationship mapping model provided by an embodiment of the present invention

[0044] Figure 5 Schematic diagram of a first mapping provided by an embodiment of the present invention;

[0045] Figure 6 Schematic diagram of a second mapping provided by an embodiment of the present invention;

[0046] Figure 7 Schematic diagram of a third mapping provided by an embodiment of the present invention;

[0047] Figure 8 Flowchart of a specific method for monitoring hardware engine channels of a disk array provided by an embodiment of the present invention;

[0048] Figure 9 Schematic diagram of the structure of a device for monitoring hardware engine channels of a disk array provided by an embodiment of the present invention;

[0049] Figure 10A structural diagram of an electronic device provided by an embodiment of the present invention. Detailed implementation manners

[0050] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.

[0051] The terms "including" and "having" in the specification of the present invention and the above accompanying drawings, as well as any variations related to "including" and "having", are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but may include steps or units that are not listed.

[0052] To enable those skilled in the art of the present technology to better understand the solutions of the present invention, the present invention will be further described in detail below in conjunction with the accompanying drawings and specific implementation manners.

[0053] Under the conventional practice, usually all the key index data of a certain engine at a certain moment or a certain time period are all externally displayed to achieve the purpose of observing the engine data. However, as mentioned above, for a simple engine, the design load of providing monitoring functions is acceptable, but for a complex engine, especially an IO disk-writing engine, its own functional structure is already very complex. At the same time, it is necessary to reserve M engines and N IO channels, and each channel has independent hardware resources. The implementation of the function itself has already consumed a large chip area; if all the IO channels are monitored one by one when implementing the monitoring function, it will obviously bring a great burden to the system. In addition, in an application scenario with a small number of disk-writing operations, such as using two disks connected to two channels, most of the other channels are actually idle at this time. Monitoring the idle channels is unreasonable and unnecessary, and it also causes serious waste of resources; most importantly, in the process of engineering practice, even when all N channels are filled with disks and the chip area is limited, the business busy degrees of each channel are not exactly the same. In most scenarios, it is not necessary to monitor all channels. How to decide which channels among the N channels to select as the monitoring targets is actually a difficult problem to solve. To solve the above technical problems, the present invention discloses a method, device, equipment, and medium for monitoring hardware engine channels of a disk array, which can flexibly select the hardware engine channels to be monitored and improve the flexibility of the system.

[0054] See Figure 1 As shown, an embodiment of the present invention provides a method for monitoring hardware engine channels of a disk array, including:

[0055] Step S11: Determine the service traffic of each disk array group based on the first mapping table and the service traffic sent by the host to each host namespace; the first mapping table is a table recording the mapping relationship between each host namespace and each disk array group.

[0056] In the embodiment of the present invention, as Figure 2 shown, the hardware RAID card has m IO disk drop engines and N channels. Therefore, the key of the present invention is to select channels. Before determining the service traffic of each disk array group based on the first mapping table and the service traffic sent by the host to each host namespace, the present invention first constructs the total mapping relationship between each host namespace, each disk array group, each hard disk, and each hardware engine channel based on a preset mapping rule; wherein, the preset mapping rule includes any one or several combinations of one disk array group corresponding to multiple host namespaces, multiple hard disks constituting one disk array group, the hard disks in different disk array groups being different, and the hard disk and the hardware engine channel being mapped based on a preset rule; the preset rule includes one-to-one sequential mapping and / or random mapping of the hard disk and the hardware engine channel; construct the first mapping table, the second mapping table, and the third mapping table based on the total mapping relationship respectively; after starting the input / output service flow of the host, use the monitoring component corresponding to the disk array to monitor each host namespace to count the service traffic sent by the host to each host namespace. In other words, the present invention first establishes an "IO management relationship mapping model". When constructing the model, the requirement emphasizes that one RAID group can have multiple host NSs (NameSpace); multiple hard disks jointly form a specific RAID group, but one hard disk does not support belonging to different RAID groups; one hard disk can only belong to a certain RAID group; the hard disk and the channel meet the flexible mapping requirement, and there is no one-to-one sequential mapping requirement for the hard disk and the channel. It can achieve one-to-one and also meet the random mapping requirement. As Figure 3 shown, create two RAID groups. Use three hard disks, Disk_1, Disk_2, and Disk_3, to create the first RAID group (RAID1), and it corresponds to two host NSs, namely HNS_1 and HNS_2 (abbreviation of host NS. In the present invention, in order to clearly distinguish the disk-side NS, HNS is defined to represent the host-side NS), and use two hard disks, Disk_4 and Disk_N, to create the second RAID group (RAID3), and it only corresponds to one host NS, which is HNS_3; the mapping relationship between the hard disk and the channel is flexibly configurable without limitation.

[0057] At the same time, the IO management relationship mapping model in the present invention is as Figure 4 shown, and it can be generally divided into four layers of services, and the general uses are as follows:

[0058] Host NS Management Service: Responsible for services such as creating and managing host NS, and managing the mapping management relationship between host NS and RAID;

[0059] RAID Management Service: Responsible for services such as creating and managing RAID, and managing the mapping management relationship between host NS and RAID;

[0060] Hard Disk Set Service: Responsible for services such as hard disk information management, and managing the mapping relationship between hard disk numbers and channels;

[0061] Channel Management Service: Responsible for configuring and managing N channels of the IO engine in the RAID card.

[0062] Then, according to the RAID card implementation process, three tables can be designed, including the "HNS&RAID Mapping Table", the "RAID&Hard Disk Management Mapping Table", and the "Hard Disk&Channel Mapping Relationship", that is, the first mapping table that creates and records the mapping relationship between each host namespace and each disk array group, the second mapping table that records the mapping relationship between each disk array group and each hard disk, and the third mapping table that records the mapping relationship between each hard disk and each hardware engine channel. Thus, the management relationships of each layer are completely decoupled, avoiding tight coupling and low cohesion of the upper and lower layer logical relationships. Among them, the HNS&RAID mapping table (the first mapping table) is responsible for services such as creating and managing host NS, and managing the mapping management relationship between host NS and RAID, and the structure is as Figure 5 shown. The RAID&Hard Disk Management Mapping Table (the second mapping table) is responsible for services such as creating and managing RAID, and managing the mapping management relationship between RAID and hard disks, and the structure is as Figure 6 shown. The "Hard Disk&Channel Mapping Relationship" (the third mapping table) is responsible for services such as hard disk information management, and managing the mapping relationship between hard disk numbers and channels; there is no requirement for a one-to-one sequential mapping between hard disks and channels, and it can either achieve one-to-one or meet the requirements of random mapping, as Figure 7 shown.

[0063] In the embodiment of the present invention, after creating three mapping tables, first, the service traffic of each disk array group can be determined based on the first mapping table and the service traffic sent by the host to each host namespace, that is, query the host namespaces existing in the disk array group in the first mapping table; determine whether there are multiple host namespaces in the disk array group according to the query result; and determine the service traffic of each disk array group according to the corresponding judgment result and the service traffic sent by the host to each host namespace. Among them, when determining the service traffic of each disk array group according to the corresponding judgment result and the service traffic sent by the host to each host namespace, the service traffic sent by the host to each host namespace is normalized to obtain the normalized service traffic; if there are multiple host namespaces in the disk array group, the normalized service traffic corresponding to each host namespace is accumulated to obtain the corresponding accumulation result, and the accumulation result is determined as the service traffic of the disk array group; if there is only one host namespace in the disk array group, the normalized service traffic corresponding to the host namespace is directly determined as the service traffic of the disk array group. Since the service traffic sent by the host to each host namespace may have different unit standards or forms, the service traffic needs to be normalized first, and then the IO load size of each corresponding RAID group is calculated according to the mapping table. A RAID group can have multiple HNSs. Therefore, first determine the number of host namespaces existing in the disk array group. If there are multiple host namespaces in the disk array group, the heat of a certain RAID group (that is, the service traffic of the disk array group) is the sum of all its affiliated HNSs.

[0064] When the present invention uses the monitoring component corresponding to the disk array to monitor each host namespace to count the service traffic sent by the host to each host namespace, it is counted through a command-line tool. For example, using the ip -s link or ifconfig command, the receive (RX) and transmit (TX) traffic statistics (unit: bytes / packet count) of the specified network interface are directly displayed, and then the traffic size is calculated by comparing the difference between RX bytes and TX bytes at different time points. It is also possible to count the service traffic through continuous recording and historical analysis. For example: install vnstat and configure the traffic recording for the namespace interface. It is also possible to enable the snmpd service in the namespace, configure the OID (Object Identifier) to capture the interface traffic data, and visualize it through Zabbix or Prometheus (two monitoring systems).

[0065] Step S12: Sort the service traffic of each disk array group, and determine the target disk array group according to the corresponding sorting result.

[0066] In an embodiment of the present invention, after determining the service traffic of each disk array group based on the first mapping table and the service traffic sent by the host to each host namespace, the service traffic of each disk array group is sorted, and the RAID group with the highest popularity is determined according to the sorting result. It should be noted that in the present invention, the service traffic of the disk array group is defined as the popularity of the disk array group. Here, the sorting can also be said to be the sorting of the popularity of the disk array group. In a specific embodiment, the service traffic of each disk array group is sorted in descending order, and the disk array group ranked first in terms of service traffic is determined according to the sorting result, and the disk array group ranked first in terms of service traffic is determined as the target disk array group. The disk array group ranked first is the disk array group with the highest popularity, that is, the disk array that needs to be monitored.

[0067] Step S13: Determine the hardware engine channels of the target disk array group based on the second mapping table and the third mapping table, and monitor the hardware engine channels; the second mapping table is a table recording the mapping relationship between each disk array group and each hard disk; the third mapping table is a table recording the mapping relationship between each hard disk and each hardware engine channel.

[0068] In an embodiment of the present invention, after determining the disk array group with the highest popularity, it is necessary to find the corresponding channels of the disks mounted under this disk array group. In this process, the present invention queries the second mapping table to determine the target hard disks corresponding to the target disk array group; and determines the hardware engine channels corresponding to each target hard disk according to the third mapping table. That is, by querying the second mapping table, the specified hard disks mounted under the target disk array group are found, and then the third mapping table is queried again to obtain the corresponding channels of each specified hard disk of this disk array group, and each channel is the target monitoring channel. It can be known that the second mapping table here is a table recording the mapping relationship between each disk array group and each hard disk; the third mapping table is a table recording the mapping relationship between each hard disk and each hardware engine channel. Finally, the channels that need to be monitored are accurately selected, avoiding blindly monitoring all channels.

[0069] Beneficial effects: The present invention sorts the service traffic of the disk array group through the mapping relationships among each host namespace, each disk array group, each hard disk, and each hardware engine channel, and determines the hardware engine channels that need to be monitored according to the corresponding sorting result. In this way, the method of blindly monitoring all channels can be avoided, effectively reducing the complexity of chip design. Its characteristic of dynamically selecting the monitoring target enables the RAID monitoring unit to select the required monitoring channels according to the actual service conditions of the RAID card, so as to improve the system flexibility, reduce the R & D cost, shorten the development time, and speed up the product listing speed.

[0070] Based on the previous embodiment, it can be known that the present invention can select the required monitoring channels according to the actual business situation of the RAID card. Next, a detailed description will be given of the hardware engine channel monitoring method for a specific disk array.

[0071] See Figure 8 As shown, after starting the host IO service flow, the present invention counts the size of the load of each host NS through the RAID monitoring unit, that is, counts the service traffic sent by the host to each host namespace, and then performs normalization processing on the service traffic.

[0072] It can be known that the present invention first constructs a total mapping relationship among each host namespace, each disk array group, each hard disk, and each hardware engine channel based on a preset mapping rule; among them, the preset mapping rule includes any one or several combinations of one disk array group corresponding to multiple host namespaces, multiple hard disks constituting a disk array group, hard disks in different disk array groups being different, and the hard disk and the hardware engine channel being mapped based on a preset rule; the preset rule includes one-to-one sequential mapping of the hard disk and the hardware engine channel and / or random mapping of the hard disk and the hardware engine channel; the first mapping table, the second mapping table, and the third mapping table are respectively constructed based on the total mapping relationship. That is, a first mapping table recording the mapping relationship between each host namespace and each disk array group, a second mapping table recording the mapping relationship between each disk array group and each hard disk, and a third mapping table recording the mapping relationship between each hard disk and each hardware engine channel are created.

[0073] Then, according to the normalization result, calculate the service traffic of each disk array group according to the first mapping table. If there are multiple host namespaces in the disk array group, sum up the normalized service traffic corresponding to each host namespace to obtain the corresponding accumulation result, and determine the accumulation result as the service traffic of the disk array group; if there is only one host namespace in the disk array group, directly determine the normalized service traffic corresponding to the host namespace as the service traffic of the disk array group.

[0074] After determining the service traffic of each disk array group based on the first mapping table and the service traffic sent by the host to each host namespace, sort the service traffic of each disk array group in descending order, determine the disk array group with the first-ranked service traffic according to the sorting result, and determine the disk array group with the first-ranked service traffic as the target disk array group. The disk array group ranked first is the disk array group with the highest heat, that is, the disk array that needs to be monitored.

[0075] Finally, by querying the second mapping table, find the specified hard disk under the target disk array group, and then query the third mapping table again to obtain the corresponding channel of each specified hard disk in the disk array group, and each channel is the target monitoring channel.

[0076] Beneficial effects: Driven by the change of service traffic, the present invention updates the monitoring targets of the RAID monitoring unit regularly, which can avoid the method of blindly monitoring all channels, effectively reduce the chip design complexity. Its characteristic of dynamically selecting monitoring targets enables the RAID monitoring unit to select the required monitoring channels according to the actual service conditions of the RAID card, so as to improve the system flexibility, reduce the R & D cost, shorten the development time, and accelerate the product listing speed.

[0077] See Figure 9 As shown, the embodiment of the present invention provides a hardware engine channel monitoring device for a disk array, including:

[0078] A device quantity determination module 11, configured to determine the service traffic of each disk array group based on the first mapping table and the service traffic sent by the host to each host namespace; the first mapping table is a table recording the mapping relationship between each host namespace and each disk array group;

[0079] A target disk array group determination module 12, configured to sort the service traffic of each disk array group, and determine the target disk array group according to the corresponding sorting result;

[0080] A monitoring channel determination module 13, configured to determine the hardware engine channels of the target disk array group based on the second mapping table and the third mapping table, and monitor the hardware engine channels; the second mapping table is a table recording the mapping relationship between each disk array group and each hard disk; the third mapping table is a table recording the mapping relationship between each hard disk and each hardware engine channel.

[0081] Since the embodiments of the device part correspond to the above embodiments, the embodiments of the device part are described with reference to the embodiments of the above method part and will not be elaborated here.

[0082] Beneficial effects: The present invention sorts the service traffic of the disk array group through the mapping relationships among each host namespace, each disk array group, each hard disk, and each hardware engine channel, and determines the hardware engine channels to be monitored according to the corresponding sorting result. In this way, the method of blindly monitoring all channels can be avoided, effectively reducing the chip design complexity. Its characteristic of dynamically selecting monitoring targets enables the RAID monitoring unit to select the required monitoring channels according to the actual service conditions of the RAID card, so as to improve the system flexibility, reduce the R & D cost, shorten the development time, and accelerate the product listing speed.

[0083] Furthermore, the embodiment of the present application also discloses an electronic device, Figure 10It is a structural diagram of an electronic device shown according to an exemplary embodiment. The content in the figure should not be considered as any limitation on the scope of use of this application. The electronic device may specifically include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. Among them, the memory 22 is used to store a computer program, and the computer program is loaded and executed by the processor 21 to implement the relevant steps in the hardware engine channel monitoring method of the disk array disclosed in any of the foregoing embodiments. Additionally, the electronic device in this embodiment may specifically be an electronic computer.

[0084] In this embodiment, the power supply 23 is used to provide working voltage for each hardware device on the electronic device; the communication interface 24 can create a data transmission channel between the electronic device and external devices, and the communication protocol it follows can be any communication protocol applicable to the technical solution of this application, and no specific limitation is imposed on it here; the input / output interface 25 is used to obtain external input data or output data to the outside, and its specific interface type can be selected according to specific application needs, and no specific limitation is made here.

[0085] In addition, the memory 22, as a carrier for resource storage, can be a read-only memory, a random access memory, a disk, or an optical disc, etc. The resources stored thereon can include an operating system 221, a computer program 222, etc., and the storage method can be temporary storage or permanent storage.

[0086] Among them, the operating system 221 is used to manage and control each hardware device on the electronic device and the computer program 222, and it can be Windows Server, Netware, Unix, Linux, etc. The computer program 222, in addition to including a computer program that can be used to complete the hardware engine channel monitoring method of the disk array executed by the electronic device disclosed in any of the foregoing embodiments, may further include a computer program that can be used to complete other specific tasks.

[0087] Furthermore, this application also discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, it implements the hardware engine channel monitoring method of the disk array disclosed above. For the specific steps of this method, reference can be made to the corresponding content disclosed in the foregoing embodiments, and details will not be elaborated here.

[0088] Furthermore, this application also discloses a computer program product, including a computer program / instructions; wherein, when the computer program / instructions are executed by a processor, they implement the hardware engine channel monitoring method of the disk array disclosed above. For the specific steps of this method, reference can be made to the corresponding content disclosed in the foregoing embodiments, and details will not be elaborated here.

[0089] In the present specification, the various embodiments are described in a progressive manner. Each embodiment focuses on the differences from other embodiments. For the same or similar parts among the various embodiments, reference can be made to each other. For the devices disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the description is relatively simple. For the relevant parts, reference can be made to the description in the method section.

[0090] Those skilled in the art can further realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of the two. To clearly illustrate the interchangeability of hardware and software, the components and steps of the examples have been generally described according to their functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of this application.

[0091] The steps of the methods or algorithms described in combination with the embodiments disclosed herein can be directly implemented by hardware, software modules executed by a processor, or a combination of the two. The software modules can be placed in a random access memory (RAM), internal memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium well-known in the technical field.

[0092] Finally, it should also be noted that in this document, relational terms such as "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements not only includes those elements, but also includes other elements not expressly listed, or also includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "comprising a..." does not exclude the existence of additional identical elements in the process, method, article or device comprising the element.

[0093] The above has introduced the technical solution provided by this application in detail. Specific examples are used in this article to elaborate on the principle and implementation manner of this application. The description of the above embodiments is only used to help understand the method and its core idea of this application; at the same time, for those of ordinary skill in the art, according to the idea of this application, there will be changes in the specific implementation manner and application scope. In summary, the content of this specification should not be construed as a limitation to this application.

Claims

1. A method for monitoring a hardware engine channel of a disk array, characterized in that, Including: Determining the service traffic of each disk array group based on the first mapping table and the service traffic sent by the host to each host namespace; The first mapping table is a table recording the mapping relationship between each host namespace and each disk array group; Sorting the service traffic of each disk array group, and determining the target disk array group according to the corresponding sorting result; Determining the hardware engine channel of the target disk array group based on the second mapping table and the third mapping table, and monitoring the hardware engine channel; The second mapping table is a table recording the mapping relationship between each disk array group and each hard disk; The third mapping table is a table recording the mapping relationship between each hard disk and each hardware engine channel.

2. The method for monitoring the hardware engine channel of the disk array according to claim 1, wherein Before determining the service traffic of each disk array group based on the first mapping table and the service traffic sent by the host to each host namespace, it further includes: Constructing the total mapping relationship between each host namespace, each disk array group, each hard disk, and each hardware engine channel based on a preset mapping rule; Wherein, the preset mapping rule includes any one or several combinations of one disk array group corresponding to multiple host namespaces, multiple hard disks constituting one disk array group, the hard disks in different disk array groups being different, and the hard disk and the hardware engine channel being mapped based on a preset rule; the preset rule includes one-to-one sequential mapping and / or random mapping of the hard disk and the hardware engine channel; Constructing the first mapping table, the second mapping table, and the third mapping table respectively based on the total mapping relationship; After starting the input / output service flow of the host, using the monitoring component corresponding to the disk array to monitor each host namespace to count the service traffic sent by the host to each host namespace.

3. The method for monitoring the hardware engine channel of the disk array according to claim 1, wherein The determining the service traffic of each disk array group based on the first mapping table and the service traffic sent by the host to each host namespace includes: Querying the host namespaces existing in the disk array group in the first mapping table; Judging whether there are multiple host namespaces in the disk array group according to the query result; Determining the service traffic of each disk array group according to the corresponding judgment result and the service traffic sent by the host to each host namespace.

4. The hardware engine channel monitoring method of the disk array according to claim 3, wherein The determining the service traffic of each disk array group according to the corresponding judgment result and the service traffic sent by the host to each host namespace includes: Performing normalization processing on the service traffic sent by the host to each host namespace to obtain the normalized service traffic; Determining the service traffic of each disk array group according to the corresponding judgment result and the normalized service traffic.

5. The hardware engine channel monitoring method of the disk array according to claim 4, wherein The determining the service traffic of each disk array group according to the corresponding judgment result and the normalized service traffic includes: If there are multiple host namespaces in the disk array group, then adding up the normalized service traffic corresponding to each host namespace to obtain the corresponding accumulation result, and determining the accumulation result as the service traffic of the disk array group; If there is only one host namespace in the disk array group, directly determine the normalized service traffic corresponding to the host namespace as the service traffic of the disk array group.

6. The method for monitoring the hardware engine channel of the disk array according to claim 1, wherein The sorting of the service traffic of each disk array group and determining the target disk array group according to the corresponding sorting result include: Sort the service traffic of each disk array group in descending order, determine the disk array group with the first-ranked service traffic according to the sorting result, and determine the disk array group with the first-ranked service traffic as the target disk array group.

7. The hardware engine channel monitoring method for the disk array according to any one of claims 1 to 6, characterized in that, The determining of the hardware engine channel of the target disk array group based on the second mapping table and the third mapping table includes: Query the second mapping table to determine each target hard disk corresponding to the target disk array group; Determine the hardware engine channel corresponding to each target hard disk according to the third mapping table.

8. A hardware engine channel monitoring device for a disk array, characterized in that, Including: A device quantity determining module, configured to determine the service traffic of each disk array group based on the first mapping table and the service traffic sent by the host to each host namespace; The first mapping table is a table recording the mapping relationship between each host namespace and each disk array group; A target disk array group determining module, configured to sort the service traffic of each disk array group and determine the target disk array group according to the corresponding sorting result; A monitoring channel determining module, configured to determine the hardware engine channel of the target disk array group based on the second mapping table and the third mapping table and monitor the hardware engine channel; the second mapping table is a table recording the mapping relationship between each disk array group and each hard disk; The third mapping table is a table recording the mapping relationship between each hard disk and each hardware engine channel.

9. An electronic device, characterized in that, Including: A memory, configured to store a computer program; A processor, configured to execute the computer program to implement the steps of the method for monitoring the hardware engine channel of the disk array according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the steps of the method for monitoring the hardware engine channel of the disk array according to any one of claims 1 to 7 are implemented.