Load balancing judgment method and device, equipment, storage medium and program product

By creating destruction tasks for multiple volumes to be destroyed and allocating them to multiple nodes, the load balancing status of the storage system is automatically judged, and the problem of manual viewing of load balancing in the existing technology is solved, and efficient and fast load balancing verification is achieved.

CN119902957APending Publication Date: 2025-04-29INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510081584.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-17
Publication Date
2025-04-29

AI Technical Summary

Technical Problem

In the prior art, load balancing of the storage system during data destruction can only be achieved through manual viewing, which is time-consuming and labor-intensive, and is prone to calculation errors when node failures.

Method used

Provide a load balancing judgment method. By creating destruction tasks for multiple volumes to be destroyed and assigning these tasks to multiple nodes, obtaining the working status and load balancing conditions of each node, and automatically determining whether the destruction task is in a load balancing state.

Benefits of technology

It realizes efficient and rapid verification of whether the storage system is load-balanced during data destruction, avoids the time-consuming and labor-intensive problem of manual viewing, and improves the automation and accuracy of the data destruction process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119902957A_ABST
    Figure CN119902957A_ABST
Patent Text Reader

Abstract

The invention relates to the field of data destruction, and provides a load balancing judgment method and device, equipment, a storage medium and a program product, and the method comprises the steps: creating destruction tasks for a plurality of to-be-destructed volumes respectively, and distributing the destruction tasks to a plurality of nodes; obtaining the number of destroying tasks being executed by each node in different working states and a load balancing condition; and judging whether the destroying tasks are in a load balancing state or not based on the number of the destroying tasks being executed by each node in different working states and a load balancing condition. After the plurality of destroying tasks are distributed to the nodes, whether the destroying tasks are in load balancing is judged based on whether the number of the destroying tasks being executed by each node meets the load balancing condition, so that the problem of time and labor waste caused by manually checking whether the destroying tasks are in load balancing is avoided; it is achieved that whether the load of the storage system is balanced or not in the data destruction process is efficiently and rapidly verified.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular to a load balancing determination method, device, equipment, storage medium and program product. Background Art

[0002] In order to ensure data security, some data on the computer needs to be completely destroyed. Data destruction requires each node in the storage system to perform a large number of concurrent tasks at the same time. In order not to affect the normal operation of the front-end main business, the pressure of each node in the storage system needs to be balanced during data destruction.

[0003] In the related art, the load balancing function of the destruction task can only be viewed manually, which is time-consuming and laborious. Summary of the invention

[0004] In order to solve the above technical problems, the present application provides a load balancing judgment method, device, equipment, storage medium and program product, which efficiently and quickly verify whether the storage system is load balanced during data destruction.

[0005] In a first aspect, the present application provides a load balancing judgment method, which includes: creating destruction tasks for multiple volumes to be destroyed respectively, and assigning the multiple destruction tasks to multiple nodes; obtaining the number of destruction tasks being executed by each node under different working conditions and the load balancing conditions; based on the number of destruction tasks being executed by each node under different working conditions and the load balancing conditions, judging whether the destruction task is in a load balancing state.

[0006] In the second aspect, the present application provides a load balancing judgment device, which includes: an allocation module, used to create destruction tasks for multiple volumes to be destroyed in a storage system, and assign multiple destruction tasks to multiple nodes; an acquisition module, used to obtain the number of destruction tasks being executed by each node under different working conditions and the load balancing conditions; a judgment module, used to judge whether the destruction task is in a load balancing state based on the number of destruction tasks being executed by each node under different working conditions and the load balancing conditions.

[0007] In a third aspect, the present application provides a load balancing judgment device, which includes: one or more processors; a storage device for storing one or more programs; when the one or more programs are executed by one or more processors, the one or more processors implement the load balancing judgment method as described in the first aspect above.

[0008] In a fourth aspect, the present application provides a storage medium, which may be a computer-readable storage medium, storing a computer program thereon, which, when executed by a processor, implements the load balancing determination method in the first aspect described above.

[0009] In a fifth aspect, an embodiment of the present application provides a computer program product, which includes a computer program or instructions, and when the computer program or instructions are executed by a processor, implements any load balancing judgment method as described in the first aspect above.

[0010] The embodiment of the present application provides a load balancing judgment method, device, equipment, storage medium and program product, the method comprising: creating destruction tasks for multiple volumes to be destroyed respectively, and assigning multiple destruction tasks to multiple nodes; obtaining the number of destruction tasks being executed by each node and the load balancing conditions under different working states; judging whether the destruction tasks are in a load balancing state based on the number of destruction tasks being executed by each node and the load balancing conditions under different working states. Since after assigning multiple destruction tasks to nodes, judging whether the destruction tasks are load balanced based on whether the destruction tasks being executed by each node meet the load balancing conditions, the time-consuming and labor-intensive problem of manually checking whether the destruction tasks are load balanced is avoided, and efficient and rapid verification of whether the storage system is load balanced during data destruction is achieved. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0012] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0013] Figure 1 A flow chart of a load balancing determination method provided in an embodiment of the present application;

[0014] Figure 2 A flow chart of an optimized load balancing determination method provided in an embodiment of the present application;

[0015] Figure 3 A schematic diagram of the structure of a load balancing determination device provided in an embodiment of the present application;

[0016] Figure 4 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0017] In order to more clearly understand the above-mentioned purposes, features and advantages of the present application, the scheme of the present application will be further described below. It should be noted that the embodiments of the present application and the features in the embodiments can be combined with each other without conflict.

[0018] In the following description, many specific details are set forth to facilitate a full understanding of the present application, but the present application may also be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only part of the embodiments of the present application, rather than all of the embodiments.

[0019] With the rapid development of technology, there are more and more types of data, such as pictures, videos, files, audio, etc. The security of various data has become the focus of people's attention. Data security issues are the core of computer security issues. Data encryption, access control, backup and recovery, privacy protection and other aspects all take data as the object of protection. In order to avoid data leakage, confidential data on the computer must be completely destroyed when deleted, leaving no trace and cannot be recovered. To completely destroy data, data destruction technology is needed.

[0020] Data destruction methods in related technologies usually include file deletion, hard disk formatting, file shredding, etc. Data destruction methods in related technologies are unsafe.

[0021] Specifically, file deletion does not clear the data of the file on the disk, but only updates the metadata of the file system, marks the file directory as deleted, and marks the clusters occupied by the file in the storage space as empty clusters. No changes are made to the data area on the disk, nor is the data on the disk erased. The purpose of data recovery can be achieved through some recovery tools.

[0022] Hard disk formatting will not affect the data area on the hard disk. Formatting only creates a new empty file index for the operating system and marks all clusters of the sector as "unused". The original data remains on the data area of ​​the disk until new data is written to overwrite these areas. With professional data recovery tools and techniques, it is possible to recover most or even all of the data from a formatted disk.

[0023] Soft destruction refers to clearing the disk sectors. The destruction unit is the volume, and data destruction is done by overwriting data. The rules for overwriting data are as follows: The first time, all zeros are overwritten, that is, all disk space to be destroyed is filled with 0. The second time, all 1s are overwritten, that is, all disk space to be destroyed is filled with 1. From the 3rd to the 100th time, random numbers are used for overwriting each time, and the written data can also be customized. The data written to the volume from the 3rd to the 100th time of the destruction task are all random numbers. The random numbers are generated by calling the random number generator for each node when the device is started and initialized. The random numbers of each node may not be the same. Data overwriting is a separate resource and does not conflict with the front-end input and output.

[0024] However, when the amount of data to be destroyed is large, system resources will be consumed. Data destruction may carry a large number of concurrent tasks. Without affecting the normal operation of the main front-end business, the pressure of each node needs to be balanced during data destruction to avoid excessive pressure on a node or less pressure on a node due to the destruction task. When other businesses are running on the node with greater pressure, the node resources occupied by the destruction task will affect the number of read and write operations and bandwidth per second of other normal businesses.

[0025] In the related art, there are now storage systems with multiple input-output groups and one input-output group, where each input-output group includes multiple nodes. For example, a storage system with one input-output group and two input-output groups is used for illustration. Each input-output group has four controllers, that is, four nodes. When the storage system has two inputs and outputs, there will be eight nodes. Data destruction is performed in units of volumes, that is, a data destruction task is created for each volume. The data overwriting of the volume depends on the nodes in the input-output group. If an input-output group includes four nodes, the volume belongs to four nodes. When a destruction task is created, after the write request is completed and responded to, the data destruction task is evenly distributed on the four nodes in one input-output group. However, when one of the four nodes fails, the destruction task belonging to the node will be automatically evenly distributed to the remaining nodes.

[0026] In the related art, the load balancing of data destruction is implemented as follows: record the node that is used to execute the destruction task last, that is, the node used by the last destruction task, and mark the node as LastNode. When the volume creates a new destruction task, select the next available node to execute the destruction task, update the node used by the last destruction task, and mark the node as LastNode. In this way, the destruction task covers all nodes and realizes the load balancing of the destruction task. When a node executes a destruction task, if the node suddenly goes offline, for example, due to a failure or power outage, the destruction task executed on the node will be switched to another available node for execution, and the node will be marked as LastNode+1.

[0027] According to the above load balancing strategy, when verifying whether the destruction task has achieved load balancing, you can only set up a few volumes, check the number of destruction tasks being executed on each node through the internal view path instruction (LDBE), and then calculate whether all destruction tasks are evenly distributed on each node.

[0028] During the test, the load balancing function of the destruction task can only be viewed manually, and the node where the destruction task is located and the number of destruction tasks being executed on each node need to be viewed through the internal view path instruction. If data destruction tasks are created for a large number of volumes, it is time-consuming and laborious to manually check which node the destruction task is on, and it is easy to make calculation errors in the event of node failure. In addition, a small amount of data cannot show that the destruction task is balanced in the entire storage system. Sometimes, several attempts may not necessarily achieve the expected results, which is time-consuming and laborious.

[0029] In order to solve the above technical problems, the embodiment of the present application provides a load balancing judgment method, which creates destruction tasks for multiple volumes to be destroyed respectively, and assigns multiple destruction tasks to multiple nodes; obtains the number of destruction tasks being executed by each node and the load balancing conditions under different working states; and judges whether the destruction tasks are in a load balancing state based on the number of destruction tasks being executed by each node and the load balancing conditions under different working states. After multiple destruction tasks are assigned to nodes, whether the destruction tasks are load balanced is judged based on whether the number of destruction tasks being executed by each node meets the load balancing conditions, which avoids the time-consuming and labor-intensive problem of manually checking whether the destruction tasks are load balanced, and realizes efficient and rapid verification of whether the storage system is load balanced during data destruction.

[0030] The load balancing determination method provided by the present application is described in detail below in conjunction with the accompanying drawings and specific implementation methods.

[0031] Figure 1This is a flow chart of a load balancing judgment method in an embodiment of the present application. This embodiment can be used to judge whether the destruction tasks in the storage system are load balanced. The method can be executed by a load balancing judgment device. The load balancing judgment device can be implemented in software and / or hardware. The load balancing judgment device can be configured in the storage system.

[0032] like Figure 1 As shown, the load balancing determination method provided in the embodiment of the present application mainly includes steps S101-S103.

[0033] S101. Create destruction tasks for multiple volumes to be destroyed respectively, and assign the multiple destruction tasks to multiple nodes.

[0034] Volume refers to a logical concept in computer storage management, representing the logical partition of storage space on one or more physical disks. A volume can span one or more physical disks, or just a part of a single disk. Volumes provide a way for operating systems and users to organize and manage data, allowing physical disks to be divided into smaller, more manageable parts.

[0035] Volumes to be destroyed refer to logical volumes or disk partitions that are designated to be overwritten during data security management and destruction. In other words, the data stored on volumes to be destroyed needs to be completely deleted for various reasons (such as regulatory compliance, privacy protection, business secrets, etc.) to ensure that even if the physical media falls into the hands of unauthorized persons, the data in them cannot be recovered.

[0036] Destruction tasks refer to a series of operations designed and performed during data security management and storage media decommissioning to ensure that sensitive information is not accessed by unauthorized personnel. These operations are intended to permanently erase data on storage devices, making them irrecoverable by any known technical means. Destruction tasks can be applied to various types of storage media, including but not limited to hard disk drives (HDDs), solid-state drives (SSDs), tapes, optical disks, etc.

[0037] Further, according to the storage medium type and user requirements, the destruction task may select one of the following destruction methods: physical destruction, data overwriting, encryption and then discarding the key, etc. In the embodiment of the present application, the destruction task is implemented by data overwriting.

[0038] Data overwriting, also known as data erasure or secure deletion, refers to the process of repeatedly writing data in a specific pattern to the volume to be destroyed to overwrite the original data. The purpose of data overwriting is to make the original data unrecoverable, and even with advanced data recovery technology, the originally written information cannot be read.

[0039] There is a one-to-one correspondence between the volume to be destroyed and the destruction task, that is, a destruction task is created for each volume to be destroyed. The destruction task is used to overwrite the data on the volume to be destroyed in a data overwriting manner to achieve data destruction.

[0040] Creating a destruction task for the volume to be destroyed includes: selecting a suitable data overwrite standard or algorithm according to the data sensitivity of the data to be destroyed, and setting the number and mode of overwrites according to the selected data overwrite standard. The above mode may include at least one of the following: all zeros, all ones, random numbers, etc.

[0041] Since there are a large number of volumes in the storage system, the number of volumes to be destroyed is very large. In order to achieve pressure balance on each node, the destruction tasks corresponding to each volume to be destroyed are allocated to multiple nodes in the storage system so that each node can execute its assigned destruction tasks.

[0042] The above-mentioned node refers to the controller in the storage system. One controller is one node, which is mainly used to execute the destruction task. In a storage system, at least one input-output group may be included, and each input-output group includes multiple nodes.

[0043] In a possible implementation, multiple destruction tasks are evenly distributed to multiple nodes. In a storage system, only one input-output group is included, all volumes to be destroyed belong to the input-output group, the input-output group includes multiple nodes, and multiple destruction tasks are evenly distributed to the multiple nodes included in the input-output group.

[0044] For example, if there are 1,000 volumes to be destroyed, all of which belong to input-output group 0, there are 1,000 destruction tasks corresponding to the 1,000 volumes to be destroyed. Input-output group 0 includes 4 nodes, and each node in input-output group 0 has 250 destruction tasks.

[0045] In one possible implementation, multiple destruction tasks are assigned to multiple nodes, including: determining whether there are multiple input-output groups in the storage system, wherein the input-output group includes multiple nodes; if there are multiple input-output groups in the storage system, determining the destruction tasks assigned to each input-output group; and for each input-output group, evenly distributing the assigned destruction tasks to the multiple nodes included in the input-output group.

[0046] The number of input-output groups in the storage system is obtained through the operation instructions in the storage system. If the number of input-output groups is 1, multiple destruction tasks are directly and evenly distributed to multiple nodes of the input-output group. If the number of input-output groups is at least 2, multiple destruction tasks are first allocated to each input-output group, and then the destruction tasks allocated to each input-output group are evenly distributed to multiple nodes included in each input-output group.

[0047] The destruction tasks assigned to each input-output group may be evenly distributed according to the number of input-output groups and the total number of destruction tasks, or may be distributed according to the parameters of the input-output groups, which is not specifically limited in the embodiments of the present application.

[0048] For example, let's take a storage system with two input and output groups as an example. If there are 1,000 volumes to be destroyed, there are 1,000 destruction tasks for each of the 1,000 volumes to be destroyed, of which 400 volume destruction tasks belong to input and output group 1, and 600 volume destruction tasks belong to input and output group 2. Each input and output group includes 4 nodes, and each node in input and output group 1 has 100 destruction tasks, and each node in input and output group 2 has 150 destruction tasks.

[0049] In an embodiment of the present application, a destruction task allocation scheme is provided when there are multiple input-output groups, so as to realize automatic judgment on the load balancing of the destruction tasks of each node in the multiple input-output groups.

[0050] In one possible implementation, before creating a destruction task for a volume to be destroyed, it is necessary to initialize the environment for the storage system to execute the destruction task, including: creating multiple data volumes in the storage system, and mapping the multiple data volumes to the host so that the host can read and write the multiple data volumes; and treating the data volumes whose capacity reaches the set capacity threshold as volumes to be destroyed.

[0051] The set capacity threshold is a value indicating that a large amount of data is written into the volume and data destruction is required. Further, the set capacity threshold can be determined according to the volume capacity, for example, the set capacity threshold can be a set ratio of the volume capacity, wherein the set ratio can be set according to actual conditions, for example, 80%. That is, the set capacity threshold can be 80% of the volume capacity.

[0052] First, automatically check whether all nodes in the storage system are in normal operation and there are no nodes in faulty and / or offline states. Then, check whether there are any destruction tasks being executed or not executed in the storage system. If there are any destruction tasks being executed or not executed, wait for all destruction tasks to be completed, or delete invalid destruction tasks.

[0053] Then, multiple volumes are created in the storage pool in batches through a loop script, and all volumes are mapped to the host so that the host can continue to read and write data to each volume. Until the amount of data written to the volume reaches the set ratio of the volume capacity, the volume used for load balancing judgment is unmapped, and other volumes run normally. The set ratio can be set according to the actual situation, for example: 80%.

[0054] In the embodiment of the present application, the destruction task in the storage system is initialized to avoid the judgment of load balancing by the destruction task being executed, thereby improving the judgment efficiency of load balancing.

[0055] S102: Obtain the number of destruction tasks being executed by each node and the load balancing conditions under different working states.

[0056] In the embodiment of the present application, the working state can be understood as whether each node in the input-output group is in a normal state. Among them, the working state is mainly divided into multiple categories, and the number of types of working states is determined by the number of nodes in the input-output group. The number of types of working states is twice the number of nodes plus 1. For example: In the first working state, all nodes in the input-output group are in a normal state, which can be understood as immediately judging whether the destruction tasks assigned to each node are load balanced after assigning multiple destruction tasks to multiple nodes. In the second working state, all nodes in the input-output group are in a normal state, and after each node executes the destruction task for a set period of time, it is judged whether the destruction tasks assigned to each node are load balanced. The 3rd to 2L-1st working states are determined by the number of nodes in an abnormal state and the direction of change of the number of nodes. Among them, L is the total number of nodes in the input-output group.

[0057] For example, take 4 nodes as an example. When all 4 nodes are in normal state, control 1 node to be in abnormal state and 3 nodes to be in normal state, which belongs to the third working state. Then, control 2 nodes to be in abnormal state and 2 nodes to be in normal state, which belongs to the fourth working state; control 3 nodes to be in abnormal state and 1 node to be in normal state, which belongs to the fifth working state; control 2 nodes to be in abnormal state and 2 nodes to be in normal state, which belongs to the sixth working state; control 1 node to be in abnormal state and 3 nodes to be in normal state, which belongs to the seventh working state; control 4 nodes to be in normal state, which belongs to the eighth working state.

[0058] The destruction task that a node is executing can be understood as the destruction task that is assigned to the node and has not been completed by the node.

[0059] In one possible implementation, load balancing conditions are obtained under different working states, including: for different working states, obtaining the number of nodes in normal state and the current number of destroyed tasks; and determining the load balancing conditions based on the ratio of the current number of destroyed tasks to the number of nodes in normal state.

[0060] In the embodiment of the present application, each different working state has its corresponding load balancing condition. The load balancing condition corresponding to each different working state is determined by the number of nodes in normal state and the number of current destroyed tasks in the working state.

[0061] Get the current number of destruction tasks, including: Get the number of all currently executing destruction tasks through the command line.

[0062] For each working state, the ratio of the current number of destruction tasks to the number of nodes in normal state is calculated, and a fluctuation error range is set for the ratio to obtain a load balancing range. The load balancing condition is that the number of destruction tasks being executed on each node is within the load balancing range.

[0063] The error range can be set according to the actual situation, for example, any value between ±1% and ±10%. For scenarios with high load balancing requirements, the error range can be set smaller. For scenarios with low load balancing requirements, the error range can be set larger. For example, the error range is ±5%, and the ratio of the number of currently destroyed tasks to the number of nodes in normal state under a certain working state is 100, then the load balancing range is [95, 105].

[0064] For each working state, the number of destruction tasks being executed by each node is obtained through a command line. The above command line can be properly written according to the type of storage system, and is not limited in the embodiments of the present application.

[0065] S103: Based on the number of destruction tasks being executed by each node in different working states and the load balancing condition, determine whether the destruction task is in a load balancing state.

[0066] The load balancing state means that the number of destruction tasks being executed by each node is basically the same. Basically consistent can be understood as the number of destruction tasks being executed by each node fluctuating around the average number of destruction tasks. The average number of destruction tasks is the ratio of the current number of destruction tasks to the number of nodes in normal state.

[0067] For each working state, determine whether the number of destruction tasks being executed by each node in the working state meets the load balancing condition. If the number of destruction tasks being executed by each node in all working states meets the load balancing condition, then it is determined that the destruction task is in a load balancing state. If the number of destruction tasks being executed by at least one node in at least one working state does not meet the load balancing condition, then it is determined that the destruction task is in a load balancing state.

[0068] For each working state, determine whether the number of destruction tasks being executed by each node in the working state is within the load balancing range corresponding to the working state. If the number of destruction tasks being executed by each node in all working states is within the load balancing range corresponding to each working state, then determine that the destruction task is in a load balancing state. If the number of destruction tasks being executed by at least one node in at least one working state is not within the load balancing range corresponding to the working state, then determine that the destruction task is not in a load balancing state.

[0069] In a possible implementation, each working state corresponds to each load balancing condition, and based on the number of destruction tasks being executed by each node in different working states and the load balancing condition, it is determined whether the destruction task is in a load balancing state, including: for each working state, determining whether the number of destruction tasks being executed by each node in the working state meets the load balancing condition; if the number of destruction tasks being executed by each node in the working state meets the load balancing condition, it is determined that the load balancing condition in the working state has been verified; if the number of destruction tasks being executed by any node in the working state does not meet the load balancing condition, it is determined that the load balancing condition in the working state has not been verified; if the load balancing conditions in various working states are all verified, it is determined that the destruction task is in a load balancing state; if the load balancing conditions in any of the working states are all verified, it is determined that the destruction task is not in a load balancing state.

[0070] From the above discussion, it can be seen that each working state has its corresponding load balancing range. For each working state, it is determined whether the number of destruction tasks being executed by each node in the working state is within the load balancing range corresponding to the working state; if the number of destruction tasks being executed by each node in the working state is within the load balancing range corresponding to the working state, it is determined that the load balancing condition in the working state has been verified; if the number of destruction tasks being executed by any node in the working state is not within the load balancing range corresponding to the working state, it is determined that the load balancing condition in the working state has not been verified; if the load balancing conditions in various working states are verified, it is determined that the destruction task is in a load balancing state. If the load balancing conditions in any of the working states are verified, it is determined that the destruction task is not in a load balancing state.

[0071] In a possible implementation, the load balancing range under various working conditions obtained in the load balancing judgment method, the number of destruction tasks being executed by each node, whether each node is within the corresponding load balancing range, the test execution time and other data are formed into test data and displayed to the user in the form of an icon.

[0072] In addition, if it is determined that the destruction task is not in a load balancing state, the load balancing method provided in the embodiment of the present application can be executed again after a certain period of time.

[0073] The embodiment of the present application provides a load balancing judgment method, which creates destruction tasks for multiple volumes to be destroyed respectively, and assigns multiple destruction tasks to multiple nodes; obtains the number of destruction tasks being executed by each node and the load balancing conditions under different working states; and judges whether the destruction tasks are in a load balancing state based on the number of destruction tasks being executed by each node and the load balancing conditions under different working states. Since after assigning multiple destruction tasks to nodes, whether the destruction tasks are load balanced is judged based on whether the number of destruction tasks being executed by each node meets the load balancing conditions, the time-consuming and laborious problem of manually checking whether the destruction tasks are load balanced is avoided, and efficient and rapid verification of whether the storage system is load balanced during data destruction is achieved.

[0074] Based on the above embodiments, the load balancing determination method is further optimized in the embodiments of the present application. Figure 2 As shown, the optimized load balancing determination method mainly includes the following steps S201-S217.

[0075] S201. Create destruction tasks for multiple volumes to be destroyed respectively, and assign the multiple destruction tasks to multiple nodes.

[0076] The process of S201 provided in the embodiment of the present application is the same as that of S101 provided in the above embodiment. For details, please refer to the description in the above embodiment, which will not be repeated in the embodiment of the present application.

[0077] S202: Determine that all nodes are in a normal state, and obtain the total number of destroyed tasks and the total number of nodes; determine a first load balancing condition based on the ratio of the total number of destroyed tasks to the total number of nodes.

[0078] Determining that all nodes are in a normal state includes: detecting states of all nodes, and if all nodes are in a normal state, determining that all nodes are in a normal state.

[0079] The total number of destruction tasks is the number of volume destruction tasks created in S201. The number of nodes refers to the number of nodes that are in normal working condition and can normally execute destruction tasks. The first load balancing condition is determined by the ratio of the total number of destruction tasks to the total number of nodes. Take the number of nodes as 4 as an example. The ratio of the total number of destruction tasks to the total number of nodes is the average number of destruction tasks that need to be executed by each node. For example: 1000 destruction tasks, 4 nodes, the ratio of the total number of destruction tasks to the total number of nodes, that is, the average number of destruction tasks that need to be executed by each node is 250.

[0080] Furthermore, an error fluctuation range is set. Taking the error fluctuation range of ±5% as an example, it can be calculated that the first load balancing range is [238,262].

[0081] S203: Determine whether the number of destruction tasks being executed by each node meets the first load balancing condition. If yes, execute S204; if no, execute S205.

[0082] Use the command line to obtain the number of destruction tasks being executed by each node.

[0083] It is determined whether the number of destruction tasks being executed by each node is within the first load balancing range. If the number of destruction tasks being executed by all nodes is within the first load balancing range, the first load balancing condition verification is passed. If the number of destruction tasks being executed by any node is not within the first load balancing range, the first load balancing condition verification is not passed.

[0084] S204: Determine whether the first load balancing condition verification has passed.

[0085] If the first load balancing condition is verified, it means that all nodes are in normal state. When the system assigns destruction tasks, load balancing of destruction tasks can be achieved. Then, other working states are judged to see whether they meet the load balancing conditions.

[0086] S205: Determine whether the first load balancing condition verification fails.

[0087] If the first load balancing condition verification fails, it indicates that all nodes are in normal status. When the system assigns destruction tasks, it cannot achieve load balancing of destruction tasks. The test results are summarized to form test data and sent to the client to prompt the user that the storage system cannot achieve load balancing when processing destruction tasks.

[0088] Furthermore, the load balancing determination method can be directly exited at this time, and the load balancing determination method can be executed again after a certain period of time.

[0089] S206. Set a time interval to obtain the number of destruction tasks being executed by each node; determine a second load balancing condition based on the speed at which the storage system executes the destruction tasks and the set time interval.

[0090] The above setting time can be set according to the actual situation, for example, the setting time is half an hour. During the waiting time, each node has completed destruction tasks and is also executing destruction tasks. Use the command line to query the number of destruction tasks being executed by each node again.

[0091] The speed at which the storage system executes destruction tasks can be understood as the number of destruction tasks executed by each node in the storage system per unit time. For example, if the number of destruction tasks executed by each node per minute is 5, then in half an hour, the number of destruction tasks completed by each node is 150. The number of remaining destruction tasks for each node is 100. As above, set an error fluctuation range. Taking the error fluctuation range of ±5% as an example, the second load balancing range can be calculated to be [95, 105].

[0092] The second load balancing condition refers to the number of destruction tasks being executed by each node within the second load balancing range after the set time period.

[0093] S207: Determine whether the number of destruction tasks being executed by each node after the set time period meets the second load balancing condition. If yes, execute S208; if no, execute S209.

[0094] Use the command line to obtain the number of destruction tasks being executed by each node after the set duration.

[0095] It is determined whether the number of destruction tasks being executed by each node after the set time is within the second load balancing range. If the number of destruction tasks being executed by each node after the set time is within the second load balancing range, the second load balancing condition verification is passed. If the number of destruction tasks being executed by any node after the set time is not within the second load balancing range, the second load balancing condition verification is not passed.

[0096] S208: Determine whether the second load balancing condition verification has passed.

[0097] If the second load balancing condition is verified, it means that all nodes are in normal state. After the system executes the destruction task of the set duration, the load balancing of the destruction task can still be achieved. Then, other working states are judged to see whether they meet the load balancing conditions.

[0098] S209: Determine whether the second load balancing condition verification fails.

[0099] If the second load balancing condition verification fails, it means that all nodes are in normal state. After the system executes the destruction task of the set duration, it cannot achieve load balancing of the destruction task. The test results are summarized to form test data and sent to the client to prompt the user that the storage system cannot achieve load balancing when processing the destruction task.

[0100] Furthermore, the load balancing determination method can be directly exited at this time, and the load balancing determination method can be executed again after a certain period of time.

[0101] In the embodiment of the present application, after executing a destruction task of a set duration for each node in the storage system, a load balancing verification is performed to improve the accuracy of the destruction task load verification.

[0102] S210, control at least one or more nodes to be in an abnormal state, obtain the destruction tasks being executed by the nodes in the abnormal state; assign the destruction tasks being executed by the nodes in the abnormal state to the nodes in the normal state; obtain the number of destruction tasks being executed by the nodes in the normal state; obtain the number of remaining destruction tasks and the number of nodes in the normal state; determine the third load balancing condition based on the ratio of the number of remaining destruction tasks to the number of nodes in the normal state.

[0103] In the embodiment of the present application, a cyclic checking function is adopted, and when all nodes are in a normal state, the number of nodes in an abnormal state is controlled to increase in sequence to achieve different working states.

[0104] In a possible implementation, when all nodes are in a normal state, the number of nodes in an abnormal state is controlled to increase, and the number of nodes in a total normal state is controlled to decrease.

[0105] When all L nodes are in normal state, control 1 node to be in abnormal state and L-1 nodes to be in normal state, which is a working state. Then, control 2 nodes to be in abnormal state and L-2 nodes to be in normal state, which is the next working state. According to the above control method, the number of nodes in abnormal state increases and the number of nodes in normal state decreases successively until L-1 nodes are in abnormal state and 1 node is in normal state. Among them, L is the total number of nodes in an input-output group.

[0106] Take 4 nodes as an example. When all 4 nodes are in normal state, 1 node is controlled to be in abnormal state and 3 nodes are in normal state, which belongs to the third working state. Then, 2 nodes are controlled to be in abnormal state and 2 nodes are in normal state, which belongs to the fourth working state; 3 nodes are controlled to be in abnormal state and 1 node is in normal state, which belongs to the fifth working state.

[0107] In a possible implementation, when only one node is in a normal state, the number of nodes in abnormal states is controlled to decrease, and the number of nodes in normal states is controlled to increase.

[0108] When all 1 nodes are in normal state, 2 nodes are controlled to be in abnormal state, and L-2 nodes are in normal working state, which is a working state. Then, 3 nodes are controlled to be in abnormal state, and L-3 nodes are in normal working state, which is the next working state. The number of nodes in abnormal state increases successively, and the number of nodes in normal state decreases gradually, until L nodes are in normal state.

[0109] Taking 4 nodes as an example, when 3 nodes are in abnormal state and 1 node is in normal state, controlling 2 nodes to be in abnormal state and 2 nodes to be in normal state belongs to the sixth working state; controlling 1 node to be in abnormal state and 3 nodes to be in normal state belongs to the seventh working state; controlling 4 nodes to be in normal state belongs to the eighth working state.

[0110] For each of the above working states, after the storage system is controlled to reach the corresponding working state, the destruction tasks being executed by the nodes in the abnormal state are evenly distributed to the nodes in the normal state to achieve load balancing.

[0111] For each of the above working states, after controlling the storage system to reach the corresponding working state, obtain the number of all destruction tasks being executed in the working state and the number of nodes in the normal state in the working state through the command line, and use the ratio of the number of all destruction tasks being executed in the working state to the number of nodes in the normal state in the working state as the average number of destruction tasks for the nodes in the normal state in the working state, and calculate the corresponding load balancing range in the working state based on the average number of destruction tasks and the pre-set fluctuation range. If the number of destruction tasks being executed by each node in the normal state is within the corresponding load balancing range in the working state, it indicates that the load balancing verification in the working state has been passed. If the number of destruction tasks being executed by each node in the normal state is not within the corresponding load balancing range in the working state, it indicates that the load balancing verification in the working state has not been passed.

[0112] S211: Determine whether the number of destruction tasks being executed by the nodes in the normal state meets the third load balancing condition. If yes, execute S212; if no, execute S213.

[0113] The working states corresponding to the various nodes in abnormal states set in the above-mentioned cyclic inspection function, if the load balancing verification is passed in each working state, the third load balancing condition is met. If the load balancing verification is passed in any working state, the third load balancing condition is not met.

[0114] S212: Determine whether the third load balancing condition is verified to be successful.

[0115] If the third load balancing condition is verified, it means that when any number of nodes are in an abnormal state, each node can achieve load balancing of the destruction task.

[0116] S213: Determine whether the third load balancing condition verification fails.

[0117] If the third load balancing condition is not verified, it means that when a node is in an abnormal state, each node cannot achieve load balancing for the destruction task. The test results are summarized to form test data and sent to the client to provide the user with information that the storage system cannot achieve load balancing when processing the destruction task.

[0118] In the embodiment of the present application, load balancing verification is performed for different numbers of abnormal nodes to further improve the accuracy of the destruction task load verification.

[0119] S214: After the destruction task is completed, obtain the performance parameters of the storage system.

[0120] Among them, performance parameters may include the number of input and output operations per second, CPU usage, memory occupancy, etc.

[0121] After confirming that all destruction tasks are completed, obtain the performance parameters of the storage system through the command line.

[0122] S215: Determine whether the performance parameters are within the set parameter range. If so, execute S216; if not, execute S217.

[0123] The parameter setting range refers to the range of normal working status of the storage system.

[0124] In a possible implementation, after the volume to be destroyed is determined, the performance value of the storage system at this time is recorded, and a fluctuation range is set for the performance value to obtain the value within the set parameter range.

[0125] It is determined whether the performance parameter of the storage system is within a set parameter range. If so, it is determined that the fourth load balancing condition is verified to be passed; if not, it is determined that the fourth load balancing condition is not verified to be passed.

[0126] The parameter range is determined by the parameters of each performance indicator when the destruction task is in a load balancing state.

[0127] The embodiment of the present application determines whether the load is balanced by determining whether the performance of the storage system fluctuates greatly when executing the destruction task, thereby further improving the accuracy of the destruction task load verification.

[0128] S216: Determine whether the fourth load balancing condition is verified to be successful.

[0129] The fourth load balancing condition is verified to be passed. When the system is executing the destruction task, the performance parameters do not fluctuate greatly. That is, under different working conditions, each node can achieve load balancing of the destruction task, and it is determined that the storage system can achieve load balancing of the volume destruction task when executing the volume destruction task.

[0130] S217: Determine whether the fourth load balancing condition verification fails.

[0131] If the fourth load balancing condition verification fails, it indicates that the system has large fluctuations in performance parameters during the execution of the destruction task, and cannot achieve load balancing of the destruction task. The test results are summarized to form test data and sent to the client to provide the user with information. The storage system cannot achieve load balancing when processing the destruction task.

[0132] Furthermore, the load balancing determination method can be directly exited at this time, and the load balancing determination method can be executed again after a certain period of time.

[0133] The load balancing judgment method for data destruction tasks in the embodiment of the present application implements the destruction function in units of volumes. When the storage system has multiple nodes, it is judged whether the destruction tasks are evenly distributed on all nodes to prevent the destruction tasks from affecting the performance of the entire storage system due to the execution of the destruction tasks on one node. This method can automatically judge whether the load balancing conditions are met in multiple working states according to the number of destruction tasks set, and display the judgment results in the form of icons. This method completely covers multiple input-output groups and a single input-output group, the load conditions of the entire destruction task before and after a node failure, and efficiently and quickly verifies the load balancing of data destruction. In addition, the verification of the load balancing of batch destruction tasks can also be achieved, saving test time and improving the accuracy of the test.

[0134] An example of a load balancing determination method is provided in an embodiment of the present application. The example is described by taking an example where a storage system includes an input-output group, and the input-output group includes 4 nodes.

[0135] Specifically, a loop script is used to batch create several volumes in the storage pool and map all volumes to the host so that the host can continue to read and write data. Automatically check the node status of the storage system and the current destruction tasks. If there are node abnormalities and / or destruction tasks, control the node to return to normal, wait for the destruction task to be completed, or delete the destruction task.

[0136] Determine the number of I / O groups and nodes in the storage system. If there are multiple I / O groups, calculate the multiple I / O groups and divide them by I / O groups. For example, if there are 1,000 destruction tasks, I / O group 1 has 400 volume destruction tasks, and I / O group 2 has 600 volume destruction tasks, then each of the 4 nodes corresponding to I / O group 1 has 100 volume destruction tasks, and each of the 4 nodes corresponding to I / O group 2 has 150 volume destruction tasks. If there is one I / O group, distribute the multiple volume destruction tasks evenly to each node. For example, if there are 1,000 destruction tasks, all of which belong to I / O group 0, and I / O group 0 has 4 nodes, then each of the 4 nodes corresponding to I / O group 0 has 250 volume destruction tasks.

[0137] The following judgment process uses 1000 volume destruction tasks and 4 nodes as an example to illustrate.

[0138] Automatically check the capacity of each volume until the volume writes data to 80% of the volume capacity, select 1,000 volumes to cancel host mapping, that is, the volume will no longer process business, and confirm it as a volume to be destroyed. Other volumes run business normally, and record the performance parameters of the entire system at this time.

[0139] Create data destruction tasks for 1,000 volumes in batches and assign them to four nodes.

[0140] The average number of destruction tasks for each node is calculated through the automation platform, and the number of destruction tasks being executed by each node is queried through the command line. Based on the average number of destruction tasks and the fluctuation error, the first load balancing range is calculated. If the number of destruction tasks being executed by each node is within the first load balancing range, the first load balancing judgment condition verification 1 passes.

[0141] Wait for half an hour, at which time each node has completed destruction tasks, and then query the number of destruction tasks being executed by each node through the command line again. Based on the speed and set duration of the storage system executing destruction tasks, determine the second load balancing range. If the number of destruction tasks being executed by each node is within the second load balancing range, the second load balancing judgment condition is verified.

[0142] Start the loop check function to obtain the current number of remaining destruction tasks through the command line, then control node 1 to be in an abnormal state, evenly distribute the unexecuted destruction tasks in node 1 to nodes 2, 3, and 4, and then obtain the number of destruction tasks being executed in each of nodes 2, 3, and 4 through the command line. Based on the ratio of the current number of remaining destruction tasks to the number of nodes in normal state, calculate the load balancing range of the working state, and determine whether the number of destruction tasks being executed by each node in nodes 2, 3, and 4 is within the load balancing range of the working state. If so, the load balancing verification of the working state passes.

[0143] Use the loop check function to obtain the current number of remaining destruction tasks through the command line. When node 1 is still in an abnormal state, control node 2 to be in an abnormal state again, evenly distribute the unexecuted destruction tasks in node 2 to nodes 3 and 4, and then obtain the number of destruction tasks being executed by each node in nodes 3 and 4 through the command line. Based on the ratio of the current number of remaining destruction tasks to the number of nodes in normal state, calculate the load balancing range of the working state, and determine whether the number of destruction tasks being executed by each node in nodes 3 and 4 is within the load balancing range of the working state. If so, the load balancing verification of the working state passes.

[0144] Use the loop check function to obtain the current number of remaining destruction tasks through the command line. When nodes 1 and 2 are still in abnormal state, control node 3 to be in abnormal state again. At this time, only node 4 is in normal state. Allocate the unexecuted destruction tasks of node 3 to node 4. Then, obtain the number of destruction tasks being executed in each node in node 4 through the command line. Based on the ratio of the current number of remaining destruction tasks to the number of nodes in normal state, calculate the load balancing range of the working state, and determine whether the number of destruction tasks being executed in node 4 is within the load balancing range of the working state. If so, the load balancing verification of the working state passes.

[0145] Use the loop check function to obtain the current number of remaining destruction tasks through the command line, control node 1 to be in normal state, and node 1 and node 4 to be in normal state at this time. Allocate the unexecuted destruction tasks of node 4 to node 4 and node 1, and then obtain the number of destruction tasks being executed by each node in node 4 and node 1 through the command line. Based on the ratio of the current number of remaining destruction tasks to the number of nodes in normal state, calculate the load balancing range of the working state, and determine whether the number of destruction tasks being executed by each node in node 4 and node 1 is within the load balancing range of the working state. If so, the load balancing verification of the working state passes.

[0146] Use the loop check function to obtain the current number of remaining destruction tasks through the command line, control node 2 to be in normal state again, and then assign the unexecuted destruction tasks of node 4 and node 1 to node 1, node 2 and node 4. Then, obtain the number of destruction tasks being executed by each node in node 1, node 2 and node 4 through the command line. Based on the ratio of the current number of remaining destruction tasks to the number of nodes in normal state, calculate the load balancing range of the working state, and determine whether the number of destruction tasks being executed by each node in node 1, node 2 and node 4 is within the load balancing range of the working state. If so, the load balancing verification of the working state passes.

[0147] Use the loop check function to obtain the current number of remaining destruction tasks through the command line, and control node 3 to be in normal state again. At this time, nodes 1, 2, 3 and 4 are in normal state. Allocate the unexecuted destruction tasks of nodes 4, 1 and 2 to nodes 1, 2, 3 and 4. Then, obtain the number of destruction tasks being executed by each node in nodes 1, 2, 3 and 4 through the command line. Based on the ratio of the current number of remaining destruction tasks to the number of nodes in normal state, calculate the load balancing range of the working state, and determine whether the number of destruction tasks being executed in each node in nodes 1, 2, 3 and 4 is within the load balancing range of the working state. If so, the load balancing verification of the working state passes.

[0148] Wait for all destruction tasks to be completed, check whether there is a large fluctuation in storage performance during the whole process, and compare the performance at the beginning of the test with the performance at the end of the test. If the comparison results are roughly the same with an error of 5%, the fourth load balancing condition is verified to be passed.

[0149] Finally, each test point, test result and test time are displayed as test data in the form of icons.

[0150] Figure 3 FIG. 1 is a schematic diagram of a load balancing judgment device in an embodiment of the present application. Figure 3 As shown, the load balancing judgment device 30 provided in the embodiment of the present application mainly includes: an allocation module 31, which is used to create destruction tasks for multiple volumes to be destroyed in the storage system, and allocate the multiple destruction tasks to multiple nodes; an acquisition module 32, which is used to obtain the number of destruction tasks being executed by each of the nodes under different working conditions and the load balancing conditions; a judgment module 33, which is used to judge whether the destruction task is in a load balancing state based on the number of destruction tasks being executed by each node under the different working conditions and the load balancing conditions.

[0151] In one possible implementation, the acquisition module 32 is specifically used to obtain the number of nodes in normal state and the current number of destroyed tasks for different working states; and determine the load balancing condition based on the ratio of the current number of destroyed tasks to the number of nodes in normal state.

[0152] In a possible implementation, the judgment module 33 is specifically used to judge, for each working state, whether the number of destruction tasks being executed by each node in the working state meets the load balancing condition; if the number of destruction tasks being executed by each node in the working state meets the load balancing condition, it is determined that the load balancing condition in the working state is verified; if the number of destruction tasks being executed by any node in the working state does not meet the load balancing condition, it is determined that the load balancing condition in the working state is not verified; if the load balancing conditions in various working states are verified, it is determined that the destruction task is in a load balancing state; if the load balancing condition in any of the working states is verified, it is determined that the destruction task is not in a load balancing state.

[0153] In a possible implementation, the acquisition module 32 is specifically used to determine that all nodes are in a normal state, and to obtain the total number of destruction tasks and the total number of nodes. Based on the ratio of the total number of destruction tasks to the total number of nodes, the first load balancing condition is determined; the judgment module 33 is specifically used to determine that the first load balancing condition is verified if the number of destruction tasks being executed by the node meets the first load balancing condition; if the number of destruction tasks being executed by any of the nodes does not meet the first load balancing condition, it is determined that the first load balancing condition is verified.

[0154] In one possible implementation, the acquisition module 32 is specifically used to obtain the number of destruction tasks being executed by each of the nodes at intervals of a set time; determine the second load balancing condition based on the speed at which the storage system executes the destruction tasks and the set time; the judgment module 33 is specifically used to determine that the second load balancing condition has been verified if the number of destruction tasks being executed by each of the nodes meets the second load balancing condition after the set time; and determine that the second load balancing condition has not been verified if the number of destruction tasks being executed by any of the nodes does not meet the second load balancing condition after the set time.

[0155] In one possible implementation, the acquisition module 32 is specifically used to control at least one or more nodes to be in an abnormal state, obtain the destruction tasks being executed by the nodes in the abnormal state; assign the destruction tasks being executed by the nodes in the abnormal state to the nodes in the normal state; obtain the number of destruction tasks being executed by the nodes in the normal state; obtain the number of remaining destruction tasks and the number of nodes in the normal state; determine the third load balancing condition based on the ratio of the remaining number of destruction tasks to the number of nodes in the normal state; the judgment module 33 is specifically used to determine that the third load balancing condition is verified if the number of destruction tasks being executed by the nodes in the normal state meets the third load balancing condition; if the number of destruction tasks being executed by at least one of the nodes in the normal state does not meet the third load balancing condition, determine that the third load balancing condition is verified not to pass.

[0156] In one possible implementation, the controlling of at least one or more nodes to be in an abnormal state includes: when all the nodes are in a normal state, sequentially controlling the number of nodes in the abnormal state to increase, and controlling the number of nodes in the normal state to decrease; or, when only one of the nodes is in a normal state, sequentially controlling the number of nodes in the abnormal state to decrease, and controlling the number of nodes in the normal state to increase.

[0157] In a possible implementation, the acquisition module 32 is specifically used to obtain the performance parameters of the storage system after the destruction task is executed; the judgment module 33 is specifically used to determine that the fourth load balancing condition verification has passed if each of the performance parameters is within the set parameter range; if the performance parameters are not within the set parameter range, it is determined that the fourth load balancing condition verification has not passed, and the set parameter range is determined by the parameters of each performance indicator when the destruction task is in a load balancing state.

[0158] The load balancing judgment device provided in the embodiment of the present application can execute the load balancing judgment method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0159] Figure 4 is a schematic diagram of the structure of an electronic device provided in this embodiment. The electronic device may include a load balancing judgment device, such as Figure 4 As shown, the electronic device 400 includes a processor 410, a memory 420, an input device 430, and an output device 440; the number of the processor 410 in the electronic device can be one or more. Figure 4 A processor 410 is taken as an example; the processor 410, the memory 420, the input device 430 and the output device 440 in the electronic device can be connected via a bus or other means. Figure 4The example of connecting through bus is taken in the following.

[0160] The memory 420, as a computer-readable storage medium, can be used to store software programs, computer executable programs and modules, such as program instructions / modules corresponding to the load balancing judgment method in the embodiment of the present invention. The processor 410 executes various functional applications and data processing of the electronic device by running the software programs, instructions and modules stored in the memory 420, that is, the load balancing judgment method provided in the embodiment of the present invention is implemented.

[0161] The memory 420 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system and at least one application required for a function; the data storage area may store data created according to the use of the terminal, etc. In addition, the memory 420 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some instances, the memory 420 may further include a memory remotely arranged relative to the processor 410, and these remote memories may be connected to the electronic device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0162] The input device 430 may be used to receive input digital or character information and generate key signal input related to user settings and function control of the electronic device, and may include a keyboard, a mouse, etc. The output device 440 may include a display device such as a display screen.

[0163] This embodiment also provides a storage medium containing computer executable instructions, and when the computer executable instructions are executed by a computer processor, they are used to implement the load balancing determination method provided in the embodiment of the present invention.

[0164] Of course, the computer executable instructions of a storage medium including computer executable instructions provided by an embodiment of the present invention are not limited to the operations of the method described above, and can also execute related operations in the load balancing determination method provided by any embodiment of the present invention.

[0165] Through the above description of the implementation methods, the technicians in the relevant field can clearly understand that the present invention can be implemented by means of software and necessary general hardware, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as a computer floppy disk, a read-only memory (ROM), a random access memory (RAM), a flash memory (FLASH), a hard disk or an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present invention.

[0166] It is worth noting that in the embodiment of the above-mentioned search device, the various units and modules included are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be achieved; in addition, the specific names of the functional units are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of the present invention.

[0167] It should be noted that, in this article, 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 such actual relationship or order between these entities or operations. Moreover, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.

[0168] The above description is only a specific implementation of the present application, so that those skilled in the art can understand or implement the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments described herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A load balancing determination method, characterized in that: include: Creating destruction tasks for multiple volumes to be destroyed respectively, and assigning the multiple destruction tasks to multiple nodes; Obtain the number of destruction tasks being executed by each of the nodes and load balancing conditions under different working states; Based on the number of destruction tasks being executed by each node in the different working states and the load balancing condition, it is determined whether the destruction task is in a load balancing state.

2. The load balancing determination method according to claim 1, characterized in that: The obtaining of load balancing conditions under different working states includes: For different working states, obtain the number of nodes in normal state and the number of current destruction tasks; A load balancing condition is determined based on the ratio of the current number of destroyed tasks to the number of nodes in a normal state.

3. The load balancing determination method according to claim 1, characterized in that: Each of the working states corresponds to a respective load balancing condition; The determining whether the destruction task is in a load balancing state based on the number of destruction tasks being executed by each node in the different working states and the load balancing condition includes: For each working state, determine whether the number of destruction tasks being executed by each node in the working state meets the load balancing condition; If the number of destruction tasks being executed by each node in this working state meets the load balancing condition, it is determined that the load balancing condition verification in this working state has passed; If the number of destruction tasks being executed by any node in this working state does not meet the load balancing condition, it is determined that the load balancing condition in this working state has not been verified; If the load balancing conditions in various working states are verified to be passed, it is determined that the destruction task is in a load balancing state; If the load balancing condition is not verified in any of the working states, it is determined that the destruction task is not in a load balancing state.

4. The load balancing determination method according to claim 3, characterized in that: The obtaining of the number of destruction tasks being executed by each node and the load balancing condition under different working states includes: Make sure all nodes are in normal state, and obtain the total number of destroyed tasks and nodes; Determining a first load balancing condition based on a ratio of the total number of destroyed tasks to the total number of nodes; The determining whether the destruction task is in a load balancing state based on the number of destruction tasks being executed by each node in the different working states and the load balancing condition includes: If the number of destruction tasks being executed by each of the nodes meets the first load balancing condition, determining that the first load balancing condition is verified to be passed; If the number of destruction tasks being executed by any of the nodes does not satisfy the first load balancing condition, it is determined that the verification of the first load balancing condition has failed.

5. The load balancing determination method according to claim 4, characterized in that: The obtaining of the number of destruction tasks being executed by each node and the load balancing condition under different working states also includes: The time interval is set to obtain the number of destruction tasks being executed by each node; Determining a second load balancing condition based on the speed at which the storage system executes the destruction task and the set duration; The determining whether the destruction task is in a load balancing state based on the number of destruction tasks being executed by each node in the different working states and the load balancing condition includes: If the number of destruction tasks being executed by each of the nodes meets the second load balancing condition after the set time, it is determined that the verification of the second load balancing condition is passed; If the number of destruction tasks being executed by any of the nodes does not meet the second load balancing condition after the set time period, it is determined that the verification of the second load balancing condition has failed.

6. The load balancing determination method according to claim 3, characterized in that: The obtaining of the number of destruction tasks being executed by each node and the load balancing condition under different working states includes: Controlling at least one or more nodes to be in an abnormal state, and obtaining the destruction tasks being executed by the nodes in the abnormal state; Assign the destruction task being executed by the node in abnormal state to the node in normal state; Get the number of destruction tasks being executed by nodes in normal state; Get the number of remaining destruction tasks and the number of nodes in normal state; Determining a third load balancing condition based on a ratio of the number of remaining destruction tasks to the number of nodes in a normal state; The determining whether the destruction task is in a load balancing state based on the number of destruction tasks being executed by each node in the different working states and the load balancing condition includes: If the number of destruction tasks being executed by the node in the normal state meets the third load balancing condition, determining that the third load balancing condition is verified to be passed; If the number of destruction tasks being executed by at least one of the nodes in the normal state does not meet the third load balancing condition, it is determined that the verification of the third load balancing condition has failed.

7. The load balancing determination method according to claim 6, characterized in that: The controlling at least one or more nodes are in an abnormal state, including: When all the nodes are in a normal state, the number of the nodes in an abnormal state is controlled to increase, and the number of the nodes in a normal state is controlled to decrease in sequence; and / or, When only one of the nodes is in a normal state, the number of the nodes in the abnormal state is controlled to decrease, and the number of the nodes in the normal state is controlled to increase.

8. The load balancing determination method according to claim 3, characterized in that: Also includes: After the destruction task is completed, obtaining the performance parameters of the storage system; If the performance parameter is within the set parameter range, it is determined that the fourth load balancing condition verification is passed; If the performance parameter is not within the set parameter range, it is determined that the fourth load balancing condition verification has failed, and the set parameter range is determined by the parameters of each performance indicator when the destruction task is in a load balancing state.

9. The load balancing determination method according to any one of claims 1 to 8, characterized in that: Also includes: Creating multiple data volumes in the storage system, and mapping the multiple data volumes to a host so that the host can perform read and write operations on the multiple data volumes; The data volumes whose capacity reaches the set capacity threshold are treated as volumes to be destroyed.

10. The load balancing determination method according to any one of claims 1 to 8, characterized in that: Allocating the plurality of destruction tasks to a plurality of nodes comprises: Determining whether there are multiple input-output groups in the storage system, wherein the input-output group includes multiple nodes; If there are multiple input and output groups in the storage system, determining a destruction task assigned to each input and output group; For each of the input-output groups, the assigned destruction tasks are evenly distributed to a plurality of nodes included in the input-output group.

11. A load balancing judgment device, characterized in that: The device comprises: An allocation module, used to create destruction tasks for multiple volumes to be destroyed in the storage system, respectively, and allocate the multiple destruction tasks to multiple nodes; An acquisition module, used to acquire the number of destruction tasks being executed by each of the nodes and load balancing conditions under different working states; The judgment module is used to judge whether the destruction task is in a load balancing state based on the number of destruction tasks being executed by each node in the different working states and the load balancing condition.

12. An electronic device, characterized in that: The device comprises: one or more processors; A storage device for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the load balancing determination method as described in any one of claims 1 to 10.

13. A storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the load balancing determination method as described in any one of claims 1 to 10 is implemented.

14. A computer program product, comprising a computer program or an instruction, wherein the computer program or the instruction, when executed by a processor, implements the load balancing determination method according to any one of claims 1 to 10.

Citation Information

Cited By

  • Verification method and electronic equipment

    CN122470421A