Node allocation method, storage medium, electronic equipment and program product

By dividing the storage volume into subvolumes and dynamically allocating according to the resource configuration ratio of the storage node, the problem of association between the storage node and the fixed storage volume is solved, and the parallel processing of multiple storage nodes is achieved and resource utilization is improved.

CN119621352AActive Publication Date: 2025-03-14INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202510160205.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-13
Publication Date
2025-03-14
Estimated Expiration
2045-02-13

AI Technical Summary

Technical Problem

In the prior art, the storage node is associated with a fixed storage volume and cannot fully utilize the physical resources of multiple storage nodes.

Method used

By dividing the storage volume into storage subvolumes, detecting the resource configuration status of the storage node, obtaining the resource configuration ratio, and determining the allocation strategy based on the ratio and the target division capacity of the subvolume, thereby allocating the target node and the target subvolume.

Benefits of technology

The parallel processing of different target subvolumes in the same storage volume by different target nodes is realized, avoiding the association of storage volumes with fixed storage nodes, and improving the resource utilization rate of target nodes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119621352A_ABST
    Figure CN119621352A_ABST
Patent Text Reader

Abstract

The invention discloses a node allocation method, a storage medium, electronic equipment and a program product, and relates to the technical field of computers. Detecting a resource configuration state of a storage node, and obtaining a resource configuration ratio corresponding to the storage node; determining an allocation strategy of the storage node and the storage sub-volume according to the resource configuration ratio and the target division capacity of the storage sub-volume; and finally, according to the allocation strategy, obtaining a target node from the storage nodes, and allocating a target sub-volume corresponding to the target node. Compared with the prior art, the target node can be selected from the storage nodes based on the allocation strategy and allocated to the target sub-volume corresponding to the target node, so that parallel processing of different target sub-volumes in the same storage volume by different target nodes is realized, the storage volume does not need to be associated with a fixed storage node, and the storage efficiency is improved. And the resource utilization rate of the target node is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to a node allocation method, a storage medium, an electronic device, and a program product. Background Art

[0002] In a distributed storage system, the load is distributed among multiple storage nodes (such as servers, storage devices, or nodes in a storage cluster) to optimize resource usage and avoid overload.

[0003] Currently, related technologies usually associate storage nodes with fixed storage volumes. The same storage volume needs to be bound to one storage node, which fails to fully utilize the physical resources of multiple storage nodes. Summary of the invention

[0004] The present disclosure provides a node allocation method, storage medium, electronic device and program product, which is mainly intended to solve the problem that related technologies usually associate storage nodes with fixed storage volumes, and the same storage volume needs to be bound to one storage node, which cannot fully utilize the physical resources of multiple storage nodes.

[0005] In a first aspect, the present application provides a node allocation method, comprising: Divide the storage volume into storage subvolumes; Detecting the resource configuration status of the storage node and obtaining the resource configuration ratio corresponding to the storage node; Determining an allocation strategy of the storage nodes and the storage subvolumes according to the resource configuration ratio and the target partition capacity of the storage subvolumes; According to the allocation strategy, a target node is obtained from the storage nodes, and a target subvolume corresponding to the target node is allocated.

[0006] In a second aspect, the present application provides a node allocation device, including: A partitioning module, configured to partition a storage volume into storage sub-volumes; An acquisition module is configured to detect the resource configuration state of a storage node and acquire a resource configuration ratio corresponding to the storage node; a determination module configured to determine an allocation strategy of the storage nodes and the storage subvolumes according to the resource configuration ratio and the target partition capacity of the storage subvolumes; The acquisition module is configured to acquire the target node from the storage nodes according to the allocation strategy, and allocate the target subvolume corresponding to the target node.

[0007] In a third aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the node allocation method described in the first aspect is implemented.

[0008] In a fourth aspect, the present application provides an electronic device, comprising a storage medium, a processor, and a computer program stored on the storage medium and executable on the processor, wherein the processor implements the node allocation method described in the first aspect when executing the computer program.

[0009] In a fifth aspect, the present application provides a computer program product having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the node allocation method described in the first aspect.

[0010] The node allocation method, storage medium, electronic device and program product provided by the present disclosure include: firstly, dividing the storage volume into storage subvolumes; then detecting the resource configuration status of the storage node, obtaining the resource configuration ratio corresponding to the storage node; then determining the allocation strategy of the storage node and the storage subvolume according to the resource configuration ratio and the target partition capacity of the storage subvolume; finally, obtaining the target node from the storage node according to the allocation strategy, and allocating the target subvolume corresponding to the target node. Compared with the current prior art, the present application can divide the storage volume into multiple storage subvolumes, then detect the resource configuration status of each storage node in real time, determine the allocation strategy by analyzing the resource configuration ratio of each storage node and the target partition capacity of each storage subvolume, select the target node from the storage node based on the allocation strategy, and allocate it to the target subvolume corresponding to the target node, so as to realize the parallel processing of different target subvolumes in the same storage volume by different target nodes, and the storage volume does not need to be associated with a fixed storage node, thereby improving the resource utilization of the target node.

[0011] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present application, nor is it intended to limit the scope of the present application. Other features of the present application will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] 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.

[0013] 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.

[0014] Figure 1 A schematic diagram showing an example provided by an embodiment of the present application; Figure 2A schematic diagram of a process flow of a node allocation method provided in an embodiment of the present application is shown; Figure 3 A schematic diagram showing a flow chart of another node allocation method provided in an embodiment of the present application is shown; Figure 4 A schematic diagram showing another example provided by an embodiment of the present application; Figure 5 A schematic diagram showing another example provided by an embodiment of the present application is shown; Figure 6 A schematic diagram of the structure of a node allocation device provided in an embodiment of the present application is shown. DETAILED DESCRIPTION

[0015] The embodiments of the present application will be described in more detail below with reference to the accompanying drawings. It should be noted that the embodiments and features in the embodiments of the present application can be combined with each other without conflict.

[0016] At present, in the related technology, the Redundant Array of Independent Disks (RAID) layer divides the disk into strips, forms full strips, and adds the raid to the pool (corresponding to the storage disk (Mdisk) in the pool); the pool cuts the Mdisk space into blocks according to the extension block (extent) and assembles it into Cdisk (volume) in a striped manner; LUN (Logical Unit Number) refers to the logical unit divided by the hardware layer in the storage system, usually created by a RAID card or other storage device, and used to share storage resources between multiple hosts. LUN can be regarded as an independent logical device, and each LUN has a unique identifier (LUN ID), such as Figure 1 As shown in the figure, the extent belongs to the specified node, which causes the volume to select one or more extents from the storage pool to form the volume structure, so that the volume must also select a node. When the system processes the host input / output (I / O) request, it is unable to implement parallel processing of multiple nodes through a finer-grained hierarchy.

[0017] In order to improve the technical problem that the current related technologies usually associate storage nodes with fixed storage volumes, the same storage volume needs to be bound to one storage node, and the physical resources of multiple storage nodes cannot be fully utilized. This embodiment provides a node allocation method, such as Figure 2 As shown, the method includes: Step 101: Divide a storage volume into storage sub-volumes.

[0018] In specific application scenarios, the storage volume can be divided into multiple storage sub-volumes according to fixed ratios, user-specified ratios, randomly set ratios, etc., so as to obtain a finer volume granularity, so that different storage nodes can process the storage sub-volumes and realize parallel processing of multiple storage nodes, avoiding the architectural design constraint that storage volumes must be bound to the same storage node, which helps to improve the load balancing of storage nodes and the performance of each storage node.

[0019] Step 102: Detect the resource configuration status of the storage node and obtain the resource configuration ratio corresponding to the storage node.

[0020] In some examples, the resource configuration of the storage node may include hardware resource configuration, such as CPU, memory, capacity, etc., and the resource configuration status of each storage node can be detected in real time, such as detecting the CPU utilization rate, memory utilization rate, disk space utilization rate, network bandwidth utilization rate, etc. of each storage node, and determine the resource configuration ratio corresponding to each storage node based on the resource configuration status detected in real time.

[0021] Exemplarily, by comparing the resource configuration status of the current storage node with that of other storage nodes, the resource configuration ratio corresponding to the current storage node can be determined to represent the data processing capability of each storage node.

[0022] Step 103: Determine the allocation strategy of storage nodes and storage subvolumes according to the resource configuration ratio and the target partition capacity of the storage subvolume.

[0023] Exemplarily, the allocation strategy may be used to match the data processing capacity of a storage node with the resource configuration capability of the storage node to achieve optimal performance of the system and improve resource utilization of each node.

[0024] In some examples, the amount of data that a storage node can carry can be determined based on the resource configuration ratio corresponding to the storage node, and the corresponding allocation strategy can be formulated by comparing the amount of data that the storage node can carry with the target partition capacity of each storage subvolume. For example, the storage nodes are sorted according to the resource configuration ratio, and the subvolumes corresponding to the storage nodes are allocated in sequence according to the sorting; or the allocation ratio and allocation quantity of the subvolumes corresponding to each storage node are determined according to the resource configuration ratio, so as to allocate the corresponding subvolume processing tasks according to the data processing capacity of each storage node. Accordingly, when there is a new task to be allocated, the storage node with a higher resource configuration ratio (i.e., relatively idle or strong) can be selected first to make full use of the physical resources of each storage node.

[0025] Step 104: According to the allocation strategy, obtain the target node from the storage nodes, and allocate the target subvolume corresponding to the target node.

[0026] The target node may include at least one storage node; and the target subvolume may include at least one storage subvolume.

[0027] In some examples, the target node that needs to process the task can be selected from the storage nodes based on the allocation strategy, and the corresponding target subvolume can be allocated according to the resource allocation capability of each node, so that the subvolumes can be dispersed to different nodes for processing, and multiple nodes can process the same storage volume in parallel, thereby improving the resource utilization of each node while satisfying load balancing.

[0028] In some examples, after allocating the target subvolume corresponding to the target node, the resource configuration status of the target node can be continuously monitored, the resource configuration ratio of the target node can be recalculated, and the recalculated resource configuration ratio and the configuration information of the storage subvolume can be compared to facilitate evaluation of whether the current configuration is reasonable and whether there is a bottleneck or waste. The target subvolume corresponding to the target node is re-determined based on the comparison result, so as to dynamically adjust the allocation relationship between the storage node and the storage subvolume according to the actual processing situation, balance the workload of each storage node, avoid overloading of some nodes while other nodes are idle, and thus improve the performance of the entire system.

[0029] Compared with the prior art, this embodiment can divide a storage volume into multiple storage sub-volumes, and then detect the resource configuration status of each storage node in real time, determine the allocation strategy by analyzing the resource configuration ratio of each storage node and the target division capacity of each storage sub-volume, select the target node from the storage node based on the allocation strategy, and allocate it to the target sub-volume corresponding to the target node, thereby realizing parallel processing of different target sub-volumes in the same storage volume by different target nodes, and the storage volume does not need to be associated with a fixed storage node, thereby improving the resource utilization of the target node.

[0030] In order to further illustrate the specific implementation process of the method of this embodiment, this embodiment provides the following Figure 3 The specific method shown includes: Step 201: Determine a target partition capacity corresponding to a partition mode of a storage volume.

[0031] As a possible implementation method, the execution subject of the method of this embodiment can be a smart sub volume management module (Smart Sub Volume Manage, SSVM), which is located on the board, and mainly uses programmable logic devices such as ARM, etc., and can dynamically manage the detection module, front-end module, main control module, back-end module and disk array module (hard disk management). Specifically, the front-end module can be used to manage the I / O queue, process I / O read and write requests in real time, and distribute multiple sub-volume I / Os of the volume to the corresponding nodes for processing according to the sub-volume node association relationship; the detection module can be used to obtain data of related detection objects, such as CPU utilization, memory utilization, CPU model, memory model and other resource configuration status, and pass it to the main control module, the main control module can be used for sub-volume management, and then the numerical control module processes the current environment configuration data and selects the corresponding volume to allocate to the processing node; the back-end module can be used to execute the strategy of the main control module, implement the node configuration operation of the volume and the read and write processing operation of the volume. In addition, SSVM can also synchronize the current smart sub-volume management strategy in real time through the detection module, front-end module, main control module, back-end module, and disk array module.

[0032] For example, Figure 4 As shown, the target nodes can be determined as node 1, node 2, node 3, and node 4 according to the degree of match between the data processing volume corresponding to the storage node and the target partition capacity of the storage subvolume. Then, subvolumes 1, 2, 3, and 4 can be allocated to node 1 for processing, subvolumes 5, 6, and 7 can be allocated to node 2 for processing, subvolumes 8 and 9 can be allocated to node 3 for processing, and subvolume 10 can be allocated to node 4 for processing.

[0033] In some embodiments, step 201 may specifically include: determining a preset partition capacity corresponding to the partition mode as a target partition capacity.

[0034] The division modes may include but are not limited to normal mode, custom mode, etc.

[0035] Exemplarily, when it is detected that the partition mode is the normal mode, the preset partition capacity set by the user when the storage pool is created can be received, for example, the size of each sub-volume is 32M, and then the capacity is divided according to the preset partition capacity set by the user to meet the user's partition needs.

[0036] In some embodiments, step 201 may specifically include: determining a division gear according to a division mode; and determining a division capacity corresponding to the division gear as a target division capacity.

[0037] In specific application scenarios, different types of storage product customers have different requirements for services. For example, financial customers pay more attention to product stability, requiring that the services processed by each node remain within a safe range; some small business users pay more attention to the speed of product processing under a certain safety probability. For different customer types, different CPU and memory theoretical utilization rate calculation coefficients K values ​​can be used for adjustment. Correspondingly, the services stored in different customer usage scenarios are not the same. Some are mainly small-block read and write, some are mainly large-block read and write, some are mainly read services, and some are mainly write services. In different business scenarios, different sub-volume sizes can be selected in a customized way. When creating a pool, different sub-volumes can be created according to the selection. When the sub-volume size matches the business, the system processing performance is optimal, which can reduce the performance impact caused by the difference between storage volume segmentation and host I / O business segmentation.

[0038] Exemplarily, when the partition mode is detected as a custom mode, the user can select different partitioning gears. Different gears correspond to different sub-volume sizes, as well as different calculation coefficients of theoretical utilization rates of resource configuration indicators such as CPU and memory. Users can select different sub-volume sizes corresponding to different gears according to actual business needs. When a high gear is selected, it means that the user hopes that the storage node will carry more volume processing power, and the calculation coefficient K value of the CPU and memory theoretical utilization rate will increase; when a high gear is selected, it means that the user hopes that the storage node will carry more volume processing power, and the calculation coefficient K value of the CPU and memory theoretical utilization rate will decrease. In this way, the volume is divided into multiple sub-volumes according to the user's choice, and the size of each sub-volume is M1, which is suitable for different user needs and improves the user experience.

[0039] In some embodiments, after receiving the target partition capacity, the storage volume is divided into multiple storage sub-volumes according to the target partition capacity, corresponding to different storage nodes. After the partition is completed, each sub-volume can be marked and the configuration information of each sub-volume can be generated, such as Figure 5 As shown, the storage volume can be divided into multiple sub-volumes, such as sub-volume 1, sub-volume 2, sub-volume 3, sub-volume 4, sub-volume 5, etc. Each sub-volume corresponds to storage configuration information. For example, the configuration information of sub-volume 1 may include volume identification (Identity Document, ID), sub-volume ID, volume type, node identification, logical block address (Logical Block Address, LBA), host identification, etc., so as to facilitate the search of relevant information and associate with the storage node.

[0040] Optionally, a table of associations among volumes, subvolumes, and storage nodes may be created and maintained, and the host I / O read and write data may be sent through the relationship table.

[0041] In this way, multiple partitioning modes are provided to users, allowing them to divide the storage volume into multiple sub-volumes of specified sizes according to usage requirements, avoiding the architectural design constraint that the storage volume must be bound to a storage node, so that multiple nodes can be allocated at a finer volume granularity, which helps with load balancing.

[0042] Step 203: Detect the resource configuration status of the storage node and obtain the resource configuration ratio corresponding to the storage node.

[0043] In some embodiments, step 203 may specifically include: detecting the hardware configuration resources of the storage node, obtaining the hardware resource score corresponding to the storage node; and determining the resource configuration ratio corresponding to the storage node based on the ratio of the hardware resource scores corresponding to the storage node.

[0044] In some embodiments, the CPU utilization, memory utilization, CPU model, memory model and other configuration resources of each storage node can be detected, and different models of configuration resources can be scored to obtain the hardware resource score corresponding to the storage node, and then the ratio of the hardware resource score (hardware processing power score) of each storage node can be used as the resource configuration ratio (processing power ratio) to represent the processing power of each node. Exemplarily, a 10-point system can be used initially, and the resource configuration ratio of each node is rounded, and the sum of the ratios of each node is 10. If the processing power ratios of node 1, node 2, node 3, and node 4 are 4, 3, 2, and 1 respectively, it means that node 1 has the best processing power, which is 4 times the processing power of node 4.

[0045] Step 204: Determine the data processing capacity corresponding to the storage node according to the resource configuration ratio.

[0046] In some embodiments, the data processing volume corresponding to each storage node can be evaluated based on the monitored resource configuration ratio. For storage nodes with higher resource configuration ratios, the corresponding data processing volume can be increased, that is, the number of corresponding processed sub-volumes can be increased. For storage nodes with lower resource configuration ratios, the corresponding data processing volume can be reduced.

[0047] By detecting the hardware configuration of each storage node, comparing the node hardware processing capacity scores, and allocating sub-volumes corresponding to the storage nodes, the processing capacity of the nodes and the amount of data processed can be balanced, thereby improving the overall processing capacity and performance of the system and enhancing system reliability.

[0048] Step 205: Determine the allocation strategy of the storage nodes and the storage subvolumes according to the matching degree between the data processing volume corresponding to the storage node and the target partition capacity of the storage subvolume.

[0049] The capacity can be divided according to the target of each storage subvolume to obtain the business volume of each subvolume, and then the matching degree between the storage node and the storage subvolume can be obtained according to the matching degree between the data processing volume corresponding to the resource configuration ratio of each storage node and the business volume of each subvolume. According to the matching degree between the storage node and the storage subvolume, the allocation strategy is continuously adjusted until the system is stable and load balancing is achieved.

[0050] Step 206: According to the allocation strategy, obtain the target node from the storage nodes, and allocate the target subvolume corresponding to the target node.

[0051] In some embodiments, step 206 may specifically include: determining the target node and the number of storage subvolumes corresponding to the target node based on the degree of matching between the data processing volume corresponding to the storage node and the target partition capacity of the storage subvolume; determining the target subvolume corresponding to the target node according to the number of storage subvolumes; monitoring the resource utilization of the target node when processing data requests for the target subvolume; and allocating the target subvolume corresponding to the target node based on the resource utilization of the target node and the preset resource utilization of the target node.

[0052] Exemplarily, the target nodes may be determined as node 1, node 2, node 3, and node 4 according to the matching degree between the data processing volume corresponding to the storage node and the target partition capacity of the storage subvolume. If the processing capacity ratios of node 1, node 2, node 3, and node 4 are 4, 3, 2, and 1, respectively, the business volume of each subvolume may be determined in combination with the target partition capacity of each storage subvolume. Subvolumes 1, 2, 3, 4, 11, 12, 13, and 14 may be allocated to node 1 for processing, subvolumes 5, 6, 7, 15, 16, and 17 may be processed at node 2, subvolumes 8, 9, 18, and 19 may be processed at node 3, and subvolumes 10 and 20 may be processed at node 4. By splitting a volume into multiple subvolumes and then distributing the subvolumes to each node for processing in combination with the node processing capacity ratio, such a volume can be processed in parallel by multiple nodes, and the processing volume matches the level of the node hardware configuration, thereby achieving load balancing.

[0053] In some embodiments, monitoring the resource utilization rate of the target node when processing the data request of the target subvolume may specifically include: monitoring the resource utilization rate of the target node according to a preset detection period.

[0054] In some embodiments, allocating a target subvolume corresponding to a target node according to a resource utilization rate of the target node and a preset resource utilization rate of the target node may specifically include: obtaining a comparison result between a resource utilization rate of the target node and a preset resource utilization rate within a preset detection period; and determining a target subvolume corresponding to the target node according to the comparison result.

[0055] In some embodiments, the resource utilization of the target node can be continuously detected according to a preset detection cycle, such as detecting the CPU and memory utilization A1, A2 of the target node and the number B1 of target subvolumes processed by the target node within three detection cycles T1, and then obtaining the preset resource utilization of the target node when processing these numbers of target subvolumes according to the preset configuration relationship table.

[0056] Optionally, a preset resource utilization may be obtained based on a preset calculation coefficient (such as a preset CPU coefficient, a preset memory coefficient, etc.) and a theoretical resource utilization (such as CPU utilization, memory utilization, etc.).

[0057] Exemplarily, preset calculation coefficients (such as preset CPU coefficients, preset memory coefficients, etc.) and theoretical CPU and memory utilizations C1 and C2 can be used to obtain preset resource utilizations. By adjusting the preset calculation coefficients, the preset resource utilizations can be adjusted to determine the target subvolume corresponding to the target node based on the actual operating conditions of the target node and actual user needs.

[0058] Exemplarily, if the division mode is a custom mode, different division levels can be adjusted based on preset calculation coefficients to meet various user needs.

[0059] Exemplarily, a theoretical matrix table of node hardware configuration capability scores can be established based on different CPU models, memory models and capacities and stored in the SSVM register. The theoretical configuration capability scores corresponding to the CPU models are shown in Table 1, and the theoretical configuration capability scores corresponding to the memory models are shown in Table 2.

[0060] Table 1

[0061] Table 2

[0062] Optionally, determining the target subvolume corresponding to the target node based on the comparison result may specifically include: if the resource utilization of the target node within a preset detection period is greater than a preset resource utilization, generating a first alarm corresponding to the target node; and re-determining the target subvolume corresponding to the target node based on the first alarm.

[0063] Exemplarily, the preset detection cycle may include 3 cycles T1. If the comparison result is that within the 3 cycles T1, it is detected that A1 and A2 of node 1 are continuously greater than C1*K1 and C2*K2 respectively, where K1 is the preset CPU coefficient and K2 is the preset memory coefficient, then it means that the actual CPU and memory utilization of the target node is greater than the theoretical CPU memory resource utilization obtained by inverting the number of volumes. This means that within the current 3 consecutive cycles T1, the business volume of the target subvolume processed by node 1 is large, and node 1 cannot carry the theoretical business volume of the target subvolume. In this case, a first alarm, such as a level 1 alarm, may be generated and reported, and the processing capacity value of the target node may be reduced, for example, the resource configuration ratio of node 1 may be reduced by 1.

[0064] Optionally, based on the first alarm, redetermining the target subvolume corresponding to the target node may specifically include: based on the first alarm, reducing the resource configuration ratio corresponding to the target node; and redetermining the target subvolume corresponding to the target node based on the reduced resource configuration ratio of the target node and the resource configuration ratios of other storage nodes.

[0065] In some embodiments, after lowering the resource configuration ratio of the target node, the resource configuration ratios of other storage nodes can be reordered according to the lowered resource configuration ratio, and the node allocation ratio corresponding to each target node can be re-determined. For example, the number of target sub-volumes corresponding to the target node can be reduced, and the corresponding target sub-volumes can be reallocated to achieve load balancing.

[0066] Optionally, based on the comparison result, determining the target subvolume corresponding to the target node may specifically include: if the resource utilization of the target node within a preset detection period is less than a preset resource utilization, generating a second alarm corresponding to the target node; based on the second alarm, increasing the resource configuration ratio corresponding to the target node.

[0067] Exemplarily, if the comparison result is that within 3 cycles T1, it is detected that A1 and A2 of node 1 are continuously smaller than C1*K1 and C2*K2 respectively, where K1 is the preset CPU coefficient and K2 is the preset memory coefficient, then it means that the actual CPU and memory utilization of the target node are less than the theoretical CPU memory resource utilization obtained by inverting the number of volumes. This means that within the current 3 consecutive cycles T1, the business volume of the target subvolume processed by node 1 is relatively small, and node 1 can carry the theoretical business volume of the target subvolume. In this case, a second alarm, such as a second-level alarm, can be generated and reported, and the processing capacity value of the target node can be increased, for example, by adding 1 to the resource configuration ratio of node 1.

[0068] In this way, the resource utilization of the target node is continuously detected and compared with the preset resource utilization, so as to further adjust the distribution ratio of the subvolume in each node according to the actual processing situation of the node, further realize load balancing adjustment, improve the overall processing capacity and performance of the system, and enhance system reliability.

[0069] Optionally, after increasing the resource configuration ratio corresponding to the target node based on the second alarm, the method of this embodiment may also include: increasing the number of target subvolumes corresponding to the target node based on the increased resource configuration ratio of the target node and the resource configuration ratios of other storage nodes.

[0070] In some embodiments, after increasing the resource configuration ratio of the target node, the resource configuration ratios of other storage nodes can be reordered according to the increased resource configuration ratio, the subvolume allocation ratio corresponding to the target node can be increased, the number of target subvolumes can be increased, and the corresponding target subvolumes can be reallocated to achieve load balancing.

[0071] In this way, the resource configuration ratio of each target node is detected and adjusted, and the target subvolume is reallocated to the target node based on the resource configuration ratio, so as to achieve reallocation according to the actual processing situation of the target node, so as to improve the matching degree between the subvolume business volume carried by each target node and the hardware performance of the target node, thereby improving the overall performance of the system and improving the user experience.

[0072] Compared with the current existing technology, this embodiment can determine the target partition capacity of the subvolume according to different partition modes of the storage volume to meet the needs of different users. It can also continuously monitor the resource configuration status of the target node, obtain the resource utilization rate when the target node processes the data request of the target subvolume, and compare it with the preset resource utilization rate of the target node. According to the comparison result, an alarm is generated, and the resource configuration ratio corresponding to the target node is adjusted, and then the target subvolumes corresponding to each target node are reallocated to further achieve load balancing of each target node and fully improve the resource utilization rate of each target node.

[0073] Further, as Figure 2 and Figure 3 The specific implementation of the method shown in this embodiment provides a node allocation device, such as Figure 6 As shown, the device includes: a division module 31, an acquisition module 32, and a determination module 33.

[0074] A partitioning module 31 is configured to partition a storage volume into storage sub-volumes; The acquisition module 32 is configured to detect the resource configuration state of the storage node and obtain the resource configuration ratio corresponding to the storage node; A determination module 33 is configured to determine an allocation strategy of storage nodes and storage subvolumes according to the resource configuration ratio and the target partition capacity of the storage subvolumes; The acquisition module 32 is configured to acquire the target node from the storage nodes according to the allocation policy, and allocate the target subvolume corresponding to the target node.

[0075] In some examples of this embodiment, the determination module 33 is specifically configured to determine the data processing volume corresponding to the storage node based on the resource configuration ratio; and determine the allocation strategy of the storage node and the storage subvolume based on the degree of matching between the data processing volume corresponding to the storage node and the target partition capacity of the storage subvolume.

[0076] In some examples of the present embodiment, the determination module 33 is specifically configured to determine the target node and the number of storage subvolumes corresponding to the target node based on the degree of matching between the data processing volume corresponding to the storage node and the target partition capacity of the storage subvolume; determine the target subvolume corresponding to the target node according to the number of storage subvolumes; monitor the resource utilization of the target node when processing data requests for the target subvolume; and allocate the target subvolume corresponding to the target node based on the resource utilization of the target node and the preset resource utilization of the target node.

[0077] In some examples of this embodiment, the determination module 33 is specifically configured to monitor the resource utilization of the target node according to a preset detection period; allocate the target subvolume corresponding to the target node according to the resource utilization of the target node and the preset resource utilization of the target node, including: obtaining a comparison result between the resource utilization of the target node within the preset detection period and the preset resource utilization; and determining the target subvolume corresponding to the target node according to the comparison result.

[0078] In some examples of this embodiment, the determination module 33 is specifically configured to generate a first alarm corresponding to the target node if the resource utilization of the target node within a preset detection period is greater than a preset resource utilization; and re-determine the target subvolume corresponding to the target node based on the first alarm.

[0079] In some examples of this embodiment, the determination module 33 is specifically configured to reduce the resource configuration ratio corresponding to the target node based on the first alarm; and re-determine the target subvolume corresponding to the target node based on the reduced resource configuration ratio of the target node and the resource configuration ratios of other storage nodes.

[0080] In some examples of this embodiment, the determination module 33 is specifically configured to generate a second alarm corresponding to the target node if the resource utilization of the target node within a preset detection period is less than a preset resource utilization; based on the second alarm, increase the resource configuration ratio corresponding to the target node.

[0081] In some examples of this embodiment, the determination module 33 is further configured to increase the number of target subvolumes corresponding to the target node according to the resource configuration ratio of the target node after the increase and the resource configuration ratios of other storage nodes.

[0082] In some examples of this embodiment, the acquisition module 32 is specifically configured to detect the hardware configuration resources of the storage node and obtain the hardware resource score corresponding to the storage node; based on the ratio of the hardware resource scores corresponding to the storage node, determine the resource configuration ratio corresponding to the storage node.

[0083] In some examples of this embodiment, the acquisition module 32 is specifically configured to determine a target partition capacity corresponding to the partition mode of the storage volume; and divide the storage volume into storage sub-volumes according to the target partition capacity.

[0084] In some examples of this embodiment, the partitioning mode includes a first mode, and the partitioning module 31 is specifically configured to determine a preset partitioning capacity corresponding to the first mode as a target partitioning capacity.

[0085] In some examples of this embodiment, the partitioning mode includes a second mode, and the partitioning module 31 is specifically configured to use the partitioning capacity determined by the user as the target partitioning capacity.

[0086] It should be noted that for other corresponding descriptions of the functional units involved in the speech synthesis device provided in this embodiment, reference can be made to Figure 2 and Figure 3 The corresponding description in will not be repeated here.

[0087] Based on the above Figure 2 and Figure 3 The method shown in the embodiment also provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the above-mentioned Figure 2 and Figure 3 The method shown.

[0088] Based on the above Figure 2 and Figure 3 The method shown in the embodiment also provides a computer program product, on which a computer program is stored, and when the computer program is executed by a processor, the above-mentioned Figure 2 and Figure 3 The method shown.

[0089] Based on this understanding, the technical solution of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, USB flash drive, mobile hard disk, etc.), including a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute the methods of various implementation scenarios of the present application.

[0090] Based on the above Figure 2 and Figure 3 The method shown, and Figure 6 In order to achieve the above-mentioned purpose, the embodiment of the present application also provides an electronic device, such as a personal computer, a server, which includes a storage medium and a processor; the storage medium is used to store a computer program; the processor is used to execute the computer program to achieve the above-mentioned Figure 2 and Figure 3 The method shown.

[0091] In some embodiments, the above-mentioned physical device may also include a user interface, a network interface, a camera, a radio frequency (RF) circuit, a sensor, an audio circuit, a WI-FI module, etc. The user interface may include a display, an input unit such as a keyboard, etc., and the optional user interface may also include a USB interface, a card reader interface, etc. The network interface may include a standard wired interface, a wireless interface (such as a WI-FI interface), etc. in some embodiments.

[0092] Those skilled in the art will appreciate that the above-mentioned physical device structure provided in this embodiment does not constitute a limitation on the physical device, and may include more or fewer components, or a combination of certain components, or different arrangements of components.

[0093] The storage medium may also include an operating system and a network communication module. The operating system is a program that manages the hardware and software resources of the above-mentioned physical device, and supports the operation of the information processing program and other software and / or programs. The network communication module is used to realize the communication between the components inside the storage medium, and the communication with other hardware and software in the information processing physical device.

[0094] Through the description of the above implementation methods, the technical personnel in this field can clearly understand that the present application can be implemented by means of software plus the necessary general hardware platform, or by hardware. By applying the scheme of this embodiment, compared with the current prior art, this embodiment can determine the target partition capacity of the subvolume according to the different partition modes of the storage volume to meet the needs of different users, and can also continuously monitor the resource configuration status of the target node, obtain the resource utilization rate when the target node processes the data request of the target subvolume, and compare it with the preset resource utilization rate of the target node, generate an alarm according to the comparison result, adjust the resource configuration ratio corresponding to the target node, and then reallocate the target subvolume corresponding to each target node, so as to further achieve load balancing of each target node and fully improve the resource utilization rate of each target node.

[0095] 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 "include", "comprise" 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.

[0096] The above 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 applied for herein.

Claims

1. A node allocation method, characterized in that: include: Divide the storage volume into storage subvolumes; Detecting the resource configuration status of the storage node and obtaining the resource configuration ratio corresponding to the storage node; Determining an allocation strategy of the storage nodes and the storage subvolumes according to the resource configuration ratio and the target partition capacity of the storage subvolumes; According to the allocation strategy, a target node is obtained from the storage nodes, and a target subvolume corresponding to the target node is allocated.

2. The method according to claim 1, characterized in that The determining, according to the resource configuration ratio and the target partition capacity of the storage subvolume, an allocation strategy of the storage node and the storage subvolume comprises: Determining the data processing capacity corresponding to the storage node according to the resource configuration ratio; An allocation strategy for the storage node and the storage subvolume is determined according to a matching degree between a data processing volume corresponding to the storage node and a target partition capacity of the storage subvolume.

3. The method according to claim 2, characterized in that The acquiring the target node from the storage node according to the allocation strategy and allocating the target subvolume corresponding to the target node includes: Determining the target node and the number of storage subvolumes corresponding to the target node according to the matching degree between the data processing volume corresponding to the storage node and the target partition capacity of the storage subvolume; Determining the target subvolume corresponding to the target node according to the number of the storage subvolumes; Monitoring resource utilization of the target node when processing a data request for the target subvolume; According to the resource utilization of the target node and the preset resource utilization of the target node, a target subvolume corresponding to the target node is allocated.

4. The method according to claim 3, characterized in that The monitoring of resource utilization when the target node processes the data request of the target subvolume includes: Monitoring the resource utilization of the target node according to a preset detection cycle; The allocating a target subvolume corresponding to the target node according to the resource utilization of the target node and the preset resource utilization of the target node includes: Obtaining a comparison result between the resource utilization rate of the target node within the preset detection period and the preset resource utilization rate; According to the comparison result, a target subvolume corresponding to the target node is determined.

5. The method according to claim 4, characterized in that Determining the target subvolume corresponding to the target node according to the comparison result includes: If the resource utilization rate of the target node within the preset detection period is greater than the preset resource utilization rate, generating a first alarm corresponding to the target node; According to the first alarm, a target subvolume corresponding to the target node is re-determined.

6. The method according to claim 5, characterized in that The re-determining the target subvolume corresponding to the target node according to the first alarm includes: According to the first alarm, reducing the resource configuration ratio corresponding to the target node; The target subvolume corresponding to the target node is re-determined according to the reduced resource configuration ratio of the target node and the resource configuration ratios of other storage nodes.

7. The method according to claim 4, characterized in that The step of determining the target subvolume corresponding to the target node according to the comparison result further includes: If the resource utilization rate of the target node within the preset detection period is less than the preset resource utilization rate, generating a second alarm corresponding to the target node; According to the second alarm, the resource configuration ratio corresponding to the target node is increased.

8. The method according to claim 7, characterized in that After increasing the resource configuration ratio corresponding to the target node according to the second alarm, the method further includes: According to the resource configuration ratio of the target node after the increase and the resource configuration ratios of other storage nodes, the number of target subvolumes corresponding to the target node is increased.

9. The method according to claim 1, characterized in that: The detecting the resource configuration state of the storage node and obtaining the resource configuration ratio corresponding to the storage node includes: Detecting the hardware configuration resources of the storage node and obtaining the hardware resource score corresponding to the storage node; Based on the ratio of the hardware resource scores corresponding to the storage nodes, a resource configuration ratio corresponding to the storage nodes is determined.

10. The method according to claim 1, characterized in that The step of dividing the storage volume into storage sub-volumes includes: Determining a target partition capacity corresponding to the partition mode of the storage volume; The capacity is divided according to the target, and the storage volume is divided into storage sub-volumes.

11. The method according to claim 10, characterized in that The determining of the target partition capacity corresponding to the partition mode of the storage volume includes: The preset partition capacity corresponding to the partition mode is determined as the target partition capacity.

12. The method according to claim 11, characterized in that The determining of the target partition capacity corresponding to the partition mode of the storage volume further includes: According to the division mode, determining the division gear position; The division capacity corresponding to the division gear is determined as the target division capacity.

13. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 12 is implemented.

14. An electronic device comprising a storage medium, a processor, and a computer program stored in the storage medium and executable on the processor, characterized in that: When the processor executes the computer program, the method according to any one of claims 1 to 12 is implemented.

15. A computer program product having a computer program stored thereon, characterized in that: When the computer program product is executed by a processor, the method according to any one of claims 1 to 12 is implemented.

Citation Information

Patent Citations

  • Management of extent based metadata with dense tree structures within a distributed storage architecture

    CN105612491A

  • Method for allocating diskcrown under ASM architecture

    CN110968264A

  • Disk function configuration method and device, equipment and storage medium

    CN115469807A

  • Distributed storage method and device, electronic equipment and storage medium

    CN119065844A