Resource determination methods, equipment, media and procedures products
By intelligently identifying the target resource pool from multiple resource pools and generating a unified access link, the high cost and low efficiency caused by manually determining storage resources are solved, and efficient and compatible resource management is achieved in heterogeneous storage clusters.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-25
- Publication Date
- 2026-04-03
AI Technical Summary
In enterprise-level storage environments, existing technologies require manual determination of storage resources and their addresses, resulting in high labor costs, low efficiency, and poor compatibility between heterogeneous storage clusters, requiring users to manually adapt access formats.
By receiving resource determination requests from users, the system intelligently identifies the target resource pool from multiple resource pools and generates a pre-defined, uniformly formatted access link, reducing manual intervention, improving efficiency, and masking the differences between different storage clusters.
It enables the automatic identification of target resources that meet user needs in heterogeneous storage clusters, reducing user operations, improving user experience and storage efficiency, and offering better compatibility.
Smart Images

Figure CN120050332B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to resource determination methods, apparatus, media and program products. Background Technology
[0002] Currently, enterprise-level storage environments include at least one storage cluster. When a user issues a storage request, the corresponding storage space needs to be determined within the storage cluster.
[0003] In related technologies, a management program sends the storage space address for the storage request to the user. However, this process still involves manually determining the corresponding storage resources and their addresses in at least one storage cluster based on the user's storage requirements before the management program sends the information to the user. Therefore, the management program only acts as a forwarding function, and manually determining the corresponding storage resources and addresses increases labor costs and reduces efficiency. Summary of the Invention
[0004] This application provides a resource determination method, apparatus, medium, and program product to at least address the problems of increased labor costs and reduced efficiency in related technologies.
[0005] Firstly, this application provides a resource determination method, including:
[0006] Receive resource confirmation requests sent by the user client;
[0007] The target resource pool is determined from multiple resource pools based on the resource determination request; the multiple resource pools belong to different types of storage clusters;
[0008] Controls the creation of target resources within the target resource pool; the target resource pool to which the target resource belongs;
[0009] It receives access information for the target resource sent by the storage cluster to which the target resource pool belongs, generates an access link in a preset unified format based on the access information, and sends the access link to the user terminal.
[0010] Secondly, this application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any of the resource determination methods described above when executing the computer program.
[0011] Thirdly, this application also provides a computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the steps of any of the above-described resource determination methods.
[0012] Fourthly, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of any of the above-described resource determination methods.
[0013] This application provides a resource determination method, device, medium, and program product. The solution receives a resource determination request from a user terminal, then determines a target resource pool from multiple resource pools. Further, an electronic device controls the resource pool to create a target resource, which belongs to that pool, thus determining a specific target resource for the user. This solution intelligently determines the target resource pool and consequently the target resource, reducing manual intervention and improving efficiency. Furthermore, this solution addresses the issue of determining target resources in heterogeneous storage clusters, as the resource pools belong to different storage cluster types. Since heterogeneous storage clusters have poor compatibility due to their different types, this solution generates a pre-defined, uniformly formatted access link for the access information. This allows the user terminal to access the target resource using this link, reducing the need for manual adaptation due to different types and simplifying user operations, thereby improving storage efficiency and user experience. Moreover, the target resource determined from the target resource pool naturally meets the user's needs; therefore, this application can intelligently determine target resources that meet the user's requirements and are tailored to their actual needs. Attached Figure Description
[0014] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0015] Figure 1 This application provides an illustration of an application scenario.
[0016] Figure 2 This is a schematic diagram of a resource determination method provided in Embodiment 1;
[0017] Figure 3 Here is a flowchart of a resource determination method provided in Embodiment Six;
[0018] Figure 4 This is a schematic flowchart of a resource determination method provided in Example 8;
[0019] Figure 5 An interactive schematic diagram provided for this application;
[0020] Figure 6 A resource determination system architecture diagram provided in this application embodiment;
[0021] Figure 7 This is a schematic diagram of the structure of the resource determination device provided in the embodiments of this application;
[0022] Figure 8 A schematic diagram of the structure of the electronic device provided in this application. Detailed Implementation
[0023] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.
[0024] It should be noted that, in the description of this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. The terms "first," "second," etc., in this application are used to distinguish similar objects and are not used to describe a specific order or sequence.
[0025] The management program distributes the storage space address for the storage request to the user's client. However, this process still involves manually determining the corresponding storage resources and their addresses within at least one storage cluster based on the user's storage requirements before the management program distributes the information to the user. Therefore, the management program merely acts as a forwarding function, and manually determining the corresponding storage resources and addresses increases labor costs and reduces efficiency.
[0026] To address the issues of increased labor costs and reduced efficiency in related technologies, the inventors of this solution have implemented a series of improvements. Specifically, this solution receives a resource determination request from the user terminal, then identifies a target resource pool from multiple resource pools. Furthermore, the electronic device controls the resource pool to create the target resource, which belongs to the target resource pool, thus determining the specific target resource for the user. This solution intelligently determines the target resource pool and consequently the target resource, reducing manual intervention and improving efficiency. Additionally, this solution addresses the different storage cluster types of the resource pools, thus resolving the issue of determining the target resource in heterogeneous storage clusters. Moreover, due to the poor compatibility between heterogeneous storage clusters due to their different types, this solution generates a pre-defined, uniformly formatted access link for the access information. This allows the user terminal to access the target resource based on this link within the pre-defined, uniformly formatted interface, reducing the need for manual adaptation due to different types and simplifying user operations. This, in turn, improves storage efficiency and enhances the user experience. Furthermore, the target resources determined from the target resource pool naturally meet the user's needs. Therefore, this application can intelligently determine target resources that meet the user's needs and are tailored to the user's actual situation.
[0027] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0028] The specific application environment architecture or hardware architecture upon which the resource determination method depends is described here. (References) Figure 1 , Figure 1 This is a schematic diagram illustrating an application scenario provided in this application. For example... Figure 1 The system includes electronic devices 101, multiple storage clusters 102, and user terminals 103.
[0029] Among them, electronic device 101 can be a management device, serving as a coordinating device. Specifically, electronic device 101 can be a computer, server, etc., without limitation.
[0030] In this scenario, any storage cluster 102 can originate from any storage device, and the space it contains can be used to store information. This application scenario includes storage cluster A 1021 and storage cluster B 1022.
[0031] Among them, the user terminal 103 can be a computer, mobile phone or other device.
[0032] The electronic device 101 is connected to the storage cluster 102 and the user terminal 103, respectively, and the connection method can be wired or wireless.
[0033] The user terminal 103 can communicate with the storage cluster 102, and the connection method can be wired or wireless.
[0034] In this scenario, specifically, the user can trigger a resource determination request through the user terminal 103. The user terminal 103 then sends the resource determination request to the electronic device 101. The electronic device 101, based on the resource determination request, determines the target resource pool from multiple resource pools and controls the target resource pool to create the target resource. These multiple resource pools belong to multiple storage clusters 102. Assume the target resource belongs to storage cluster A 1021.
[0035] Furthermore, the target resource pool in storage cluster A 1021 creates the target resource and generates access information for the target resource.
[0036] Furthermore, storage cluster 1021 sends access information to electronic device 101.
[0037] Furthermore, the electronic device 101 generates an access link in a preset uniform format from the access information and sends the access link to the user terminal 103.
[0038] It is understood that the embodiments of this application can address the scenario where enterprise users face the coexistence of multi-vendor storage clusters, thereby shielding the differences in creation and management of different resource types from different vendors, and rationally utilizing resource pool capacity to reduce costs while meeting user needs. Therefore, this application proposes an intelligent method for unified resource management in heterogeneous storage clusters. In the embodiments of this application, users only need to provide their requirements, which may include a first type and the storage capacity to be stored, and these requirements are carried in the resource determination request.
[0039] To facilitate understanding of this solution, specific embodiments are described below.
[0040] Example 1
[0041] The execution subject of this application embodiment is a resource determination device, which may be located in an electronic device.
[0042] Figure 2 This is a schematic flowchart of a resource determination method provided in Embodiment 1. Figure 2 As shown, it includes the following steps:
[0043] S201, Receive resource confirmation request sent by the user.
[0044] Among them, a resource determination request is a request used to trigger an electronic device to determine resources.
[0045] S202, determine the target resource pool from multiple resource pools based on the resource determination request; the multiple resource pools belong to different types of storage clusters.
[0046] Within a storage cluster, multiple resource pools belong to at least one storage cluster. These different storage clusters can originate from different vendors. A storage cluster can include at least one resource pool, and at least one of its sub-pools must be of the same type as the cluster itself.
[0047] It should be noted that the electronic device in this application can communicate with multiple storage clusters. The storage clusters in this application can be heterogeneous storage clusters. The storage clusters in this application can include at least two of the following: Network-Attached Storage (NAS), Object Storage Service (OSS), and Storage Area Network (SAN).
[0048] It is understandable that if the first type is NAS, then the type of the target resource pool is also NAS. Similarly, the type of the target resource is consistent with the type of the target resource pool, and the type of the resource pool is consistent with the storage cluster to which it belongs.
[0049] It should be noted that the remaining capacity of the target resource pool is greater than or equal to the storage capacity.
[0050] In the embodiments of this application, the target resource pool meets the user's needs and is the optimal resource pool among them.
[0051] S203, control the creation of target resources in the target resource pool; the target resource to which the target resource belongs.
[0052] Specifically, electronic devices can call the storage cluster to which the target resource pool belongs to create the target resource.
[0053] It is understandable that a target resource is created in the target resource pool, and this target resource meets the user's needs, that is, it meets the user's needs for type and capacity.
[0054] S204: Receive access information of the target resource sent by the storage cluster to which the target resource pool belongs, generate an access link in a preset unified format based on the access information, and send the access link to the user terminal.
[0055] Specifically, after the target resource pool creates the target resource, it can also generate the address and access parameters corresponding to the target resource under the control of the electronic device calling the interface of its storage cluster. Access information is then generated based on the target resource address and access parameters and sent to the electronic device. The access parameters include the method or address for accessing the target resource pool, for example, accessing the target resource pool through a specific path.
[0056] Specifically, the electronic device receives access information for the target resource from the storage cluster to which the target resource pool belongs, performs standard configuration on the access information to make it a unified, preset format access link, and then sends the access link to the user terminal. The access link includes the access information for the target resource.
[0057] It should be noted that access links allow users to access target resources in a pre-defined, uniform format, improving compatibility across different storage clusters.
[0058] In this approach, since the storage cluster is a heterogeneous storage cluster with its own characteristics, in order to shield the differences in target resources created by different types of storage clusters, the access information is further standardized and an access link is generated. When the user has content to be stored, the content to be stored is sent to the corresponding target resource or target resource pool through the access link.
[0059] It should be noted that the embodiments of this application can be applied to heterogeneous storage clusters, thereby solving the problems of poor compatibility and low resource utilization in multi-protocol heterogeneous storage clusters.
[0060] In some implementations, after identifying the target resource from different storage clusters, the inconsistent access formats across these clusters necessitate manual adaptation of the access format and underlying configuration by the user, negatively impacting the user experience. Therefore, in this approach, once the user receives an access link with a unified preset format, they can access the target resource using this standardized method, effectively storing the content to be stored. This eliminates the need for users to adapt their access methods to the target resource or resource pool, thus reducing user intervention.
[0061] It should be noted that in some implementations, resource determination relies on manual configuration or fixed strategies, thus lacking dynamic optimization capabilities. However, in this embodiment, the optimal target resource pool can be intelligently and dynamically selected based on user needs, resource pool attributes, and priorities, thereby controlling the target resource pool to create the target resource. This embodiment achieves automated matching of user needs and target resources through an intelligent allocation mechanism. Furthermore, because the resource pools are heterogeneous, it can generate access links in a pre-defined, uniform format for different types of resource pools, facilitating user access to target resources or target resource pools.
[0062] This embodiment provides a resource determination method. In this embodiment, the electronic device can intelligently determine the target resource pool. The target resource pool in this application can meet the user's needs for the target resource type and storage capacity. The target resource pool is controlled to create target resources, which also meet the user's needs. Furthermore, since the types of each resource pool are different, in order to facilitate user access, the electronic device generates a preset unified format access link from the received access information. Then, the user can access the corresponding target resource based on the access link, so that the user does not need to manually adapt due to the heterogeneity of the resource pool, thereby reducing the user's operation and improving the user experience.
[0063] Example 2
[0064] This embodiment is a further refinement of any of the above embodiments. In this embodiment, the resource determination request includes a first type and the storage capacity to be stored.
[0065] The first type is the type of target resource that the electronic device needs to determine.
[0066] Among them, the storage capacity to be stored is the minimum threshold of the remaining capacity of the user for the target resource to be determined, and the storage capacity to be stored is the capacity occupied by the content to be stored.
[0067] This embodiment is an optional method for determining a target resource pool from multiple resource pools based on a resource determination request, which specifically includes the following three steps:
[0068] Step 1: Based on the first type and the storage capacity to be stored, filter from multiple resource pools to determine at least one first resource pool.
[0069] The first step is to screen from multiple resource pools to determine at least one first resource pool that meets the user's requirements for the first type and the storage capacity to be stored.
[0070] The first resource pool is a resource pool determined based on the first type and the storage capacity to be stored.
[0071] For example, suppose there are a total of 7 resource pools under the electronic device, namely resource pool A to resource pool G, where each resource pool may come from different storage clusters, as shown in Table 1.
[0072] Table 1: An exemplary resource pool-storage cluster relationship table.
[0073]
[0074] Storage cluster 1 includes resource pools A, B, and C; storage cluster 2 includes resource pools D and E; and storage cluster 3 includes resource pools F and G.
[0075] For example, the first resource pool needs to be determined from the above 7 resource pools.
[0076] This embodiment also includes an optional method for selecting from multiple resource pools based on a first type and the storage capacity to be stored, to determine at least one first resource pool, specifically:
[0077] Determine the second type; the second type is the type of the storage cluster to which the corresponding resource pool belongs.
[0078] Resource pools that are consistent with the second type and the first type are identified as resource pools that satisfy the type requirement.
[0079] Select multiple resource pools from the resource pools that meet the type requirements, whose remaining capacity is greater than or equal to the storage capacity, and determine the multiple resource pools whose remaining capacity is greater than or equal to the storage capacity as the first resource pool.
[0080] Based on the above example, assuming that the second type of resource pools A, B, and C is NAS, the second type of resource pools D and E is OSS, the second type of resource pools F and G is SAN, and the first type is NAS, then resource pools A, B, and C are determined to be resource pools that satisfy the type.
[0081] Furthermore, assuming that the remaining capacities of resource pool A, resource pool B, and resource pool C are 80G, 60G, and 52G respectively, and the storage capacity to be stored is 20G, then from the resource pools that meet the type requirements, the resource pools whose remaining capacities are greater than or equal to the storage capacity to be stored are still resource pool A, resource pool B, and resource pool C, thus determining the above three resource pools as the first resource pool.
[0082] This embodiment provides a resource determination method. In this embodiment, a first resource pool that meets the conditions is initially screened based on a first type and the storage capacity to be stored. Thus, it can be seen that the first resource pool meets the user's requirements for the type and capacity of resources.
[0083] Step 2: Based on the resource parameters of at least one first resource pool within the current marking period, filter from the first resource pool to determine at least one second resource pool.
[0084] Resource parameters refer to the basic parameters of the resource pool within the corresponding marking period. For example, these may include the total capacity and remaining capacity of the resource pool within the corresponding marking period. It should be noted that the total capacity and remaining capacity of the resource pool may change in different marking periods; therefore, it is necessary to obtain the total capacity and remaining capacity for the corresponding marking period. Changes in total capacity may be due to resource pool expansion, while changes in remaining capacity may be due to the addition or reduction of storage in the resource pool.
[0085] The second resource pool is a resource pool within the effective range (i.e., the preset capacity threshold) determined according to the principle of equal allocation priority.
[0086] This step involves equal-priority screening to determine the second resource pool from the first resource pool.
[0087] Step 3: Based on the attribute scores of the corresponding second resource pool within the current marking period, filter from at least one second resource pool to determine the target resource pool.
[0088] It should be noted that the attribute scores for each resource pool may differ across different marking periods. Therefore, it is necessary to filter the target resource pool based on the attribute scores of the second resource pool within the current marking period.
[0089] Among them, the attribute score refers to the score of the second resource pool in terms of attributes, including capacity, average number of operations per unit, and latency.
[0090] This embodiment provides a resource determination method. In this embodiment, a preliminary screening is first performed to select a first resource pool that meets the first type and the storage capacity to be stored. Then, a second resource pool is selected from the pool based on the resource parameters within the current marking period. Furthermore, a target resource pool with a high score is selected based on attribute scores. Thus, it can be seen that the target resource pool in this embodiment not only meets the user's requirements for type and capacity, but also selects the optimal resource pool based on resource parameters and attribute scores.
[0091] Example 3
[0092] This embodiment is a further refinement of any of the above embodiments. In this embodiment, the resource parameters include the total allocated capacity, the number of allocated users, and the remaining capacity of each first resource pool within the current marking period.
[0093] Based on the above example, assume that the resource parameters of the first resource pool are as shown in Table 2:
[0094] Table 2: Some resource parameters and corresponding attribute scores of the first resource pool during the current marking period.
[0095]
[0096] Table 2 illustrates this using resource pool A as an example. Resource pool A has a total capacity of 130G, an allocated total capacity of 50G, a remaining capacity of 80G, 3 allocated users, and a corresponding attribute score of 8.
[0097] This embodiment uses a method to select at least one second resource pool from at least one first resource pool based on resource parameters within the current marking period. This method specifically includes:
[0098] Step 1: Within the current marking period, calculate the average capacity of the allocated resources; the average capacity of the allocated resources is the ratio of the sum of the total allocated capacity of each first resource pool to the sum of the number of allocated users.
[0099] Calculate the average capacity of the allocated resources; the average capacity of the allocated resources is the ratio of the sum of the total allocated capacity of each first resource pool to the sum of the number of allocated users.
[0100] Based on the above example, the average capacity of the allocated resources in the first resource pool is specifically: (50+60+40) / (3+5+2)=15.
[0101] Step 2: Within the current marking period, calculate the capacity remainder; the capacity remainder is the remainder of the first capacity of the corresponding first resource pool relative to the average capacity of the allocated resources; the first capacity is the difference between the remaining capacity and the capacity to be stored.
[0102] Calculate the capacity remainder for each of the first resource pools, specifically as follows:
[0103] Resource pool A: The remaining capacity is (80-20)%15=0. Where 80G is the remaining capacity of resource pool A, and 20G is the storage capacity to be stored.
[0104] Resource Pool B: The remaining capacity is (60-20)%15=10. Where 60G is the remaining capacity of Resource Pool B.
[0105] Resource pool C: The remaining capacity is (52-20)%15=2. Where 52G is the remaining capacity of resource pool B.
[0106] Step 3: Based on the capacity remainder and the average capacity of the allocated resources, filter from the first resource pool to determine at least one second resource pool.
[0107] This embodiment provides a resource determination method. In this embodiment, the average capacity of the allocated resources in the current marking period is calculated based on resource parameters. The average capacity is the ratio of the sum of the total allocated capacity of each second resource pool to the sum of the number of allocated users. It can represent the overall average capacity of each second resource pool, that is, the average capacity allocated to a user. The capacity remainder is calculated, and the second resource pool is refined based on the average capacity and the capacity remainder, making the second resource pool more optimal and realizing the allocation based on the principle of uniform priority.
[0108] Example 4
[0109] This embodiment is a further refinement of any of the above embodiments. This embodiment is an optional method for determining at least one second resource pool by filtering from the first resource pool based on capacity remainder and the average capacity of allocated resources. Specifically, it includes:
[0110] Calculate the ratio of the remaining capacity to the average capacity of the allocated resources, and determine this ratio as the capacity ratio.
[0111] Based on the above example, specifically:
[0112] The capacity ratio of resource pool A is: capacity remainder / average capacity of allocated resources = 0.
[0113] The capacity ratio of resource pool B is: remaining capacity / average capacity of allocated resources = 0.67.
[0114] The capacity ratio of resource pool C is: capacity remainder / average capacity of allocated resources = 0.13.
[0115] Select the first resource pool whose capacity ratio is within a preset capacity threshold from at least one first resource pool, and determine the first resource pool whose capacity ratio is within the preset capacity threshold as the second resource pool; there is at least one second resource pool.
[0116] The preset capacity threshold can be [0, 0.2] and [0.8, 1].
[0117] Based on the above example, resource pool A and resource pool C are determined to be within a preset capacity threshold, thereby determining resource pool A and resource pool C as the second resource pool.
[0118] This embodiment provides a resource determination method. In this embodiment, the allocation is based on the principle of uniform priority according to the capacity ratio, thereby determining a better second resource pool.
[0119] Example 5
[0120] This embodiment is a further refinement of any of the above embodiments. In this embodiment, the resource parameters also include the total capacity of each first resource pool within the current marking period.
[0121] This embodiment is an optional method for determining the target resource pool by filtering from at least one second resource pool based on the attribute score of the corresponding second resource pool within the current marking period. Figure 3 This is a flowchart of a resource determination method provided in Embodiment Six. Figure 3 As shown, it specifically includes:
[0122] S301, for each second resource pool, input the remaining capacity, total capacity, attribute score and priority of the second resource pool in the current marking period into the preset comprehensive scoring algorithm to obtain the comprehensive score of the second resource pool; the priority comes from the basic parameters of the storage cluster to which it belongs.
[0123] The priority is determined when the storage cluster to which the resource pool belongs is connected to the electronic device, i.e., reported to the electronic device. This priority can be determined by the vendor of the storage cluster, with priorities of 1, 2, 3, and 4. The priority characterizes the degree to which the storage cluster is used, and can be allocated according to business and cost needs. A higher priority indicates a better storage cluster status, lower cost, and naturally, a better corresponding resource pool. Optionally, the priority of a resource pool is the priority of its corresponding storage cluster.
[0124] Among them, the preset comprehensive scoring algorithm is an algorithm that pre-sets the set capacity, attribute scoring, and priority. As shown in (1):
[0125] (1)
[0126] Where w1, w2, and w3 are the capacity weight, attribute weight, and priority weight, respectively, and can be 0.5, 0.3, and 0.2, respectively. Score represents the overall score.
[0127] Based on the above example, assuming that resource pool A has a priority of 1 and resource pool C has a priority of 3, the comprehensive score of each second resource pool is calculated as follows:
[0128] Overall score of resource pool A: 0.5×80 / 130+0.3×8-0.2×1=2.51.
[0129] Overall score for resource pool C: 0.5×52 / 92+0.3×9-0.2×3=2.38.
[0130] S302, select the highest comprehensive score from the comprehensive scores corresponding to at least one second resource pool.
[0131] Based on the above example, the highest overall score was determined to be 2.51.
[0132] S303, the second resource pool corresponding to the highest comprehensive score is determined as the target resource pool.
[0133] Based on the above example, resource pool A corresponding to the comprehensive score of 2.51 is determined as the target resource pool.
[0134] This embodiment provides a resource determination method. This embodiment is based on a preset comprehensive scoring algorithm, which combines remaining capacity, total capacity, attribute scores, and priority, thereby making the comprehensive scoring more fair and taking into account more factors. Finally, the second resource pool with the highest comprehensive score is selected as the target resource pool, so that the target resource pool is more outstanding in terms of capacity, type, attributes, and priority.
[0135] Example 6
[0136] This embodiment is a further refinement of any of the above embodiments, and this embodiment is a different operation made according to different first types of user requirements.
[0137] Method 1:
[0138] This embodiment is an optional method for controlling the creation of target resources in the target resource pool, including:
[0139] If the first type is network-attached storage, call the interface of the storage cluster to which the target resource pool belongs, and control the target resource pool to create a file directory according to the storage capacity to be stored in the storage cluster; the file directory is the target resource.
[0140] It should be noted that, under the control of electronic devices, the target resource pool can create file directories of appropriate size based on the storage capacity to be stored.
[0141] This embodiment also includes:
[0142] The system calls the interface of the storage cluster to control the target resource pool to create file directory addresses, create network shared paths and their domain names for external access to the target resources, and control the target resource pool to generate access information based on the file directory addresses and network shared path domain names.
[0143] The network shared path can be an NFS shared path that uses the Network File System (NFS) protocol for communication. Using a network shared path allows users to access the corresponding file directory (i.e., the target resource) and operate on it as easily as accessing a local file.
[0144] Method 2:
[0145] If the first type is an object storage service type, call the storage cluster interface to which the target resource pool belongs, and control the target resource pool to create a bucket directory according to the storage capacity to be stored in the storage cluster; the bucket directory is the target resource.
[0146] This embodiment also includes:
[0147] Call the interface of the storage cluster to control the target resource pool to create or query the bucket directory address and corresponding authentication information of the bucket directory, and control the target resource pool to generate access information based on the bucket directory address and corresponding authentication information.
[0148] Authentication information refers to the credentials used to access and manage the bucket. Authentication information enables verification, authorization, and data protection.
[0149] Method 3:
[0150] The resource determination request also includes the client address.
[0151] The user-side address can be the host iSCSI address, which is a unique identifier based on a domain name structure used to identify iSCSI nodes. The user-side connection and the storage cluster are communicated through this address.
[0152] Controlling the creation of target resources in the target resource pool includes:
[0153] If the first type is a storage area network type, call the interface of the storage cluster to which the target resource belongs, and control the target resource pool in the storage cluster to create a storage volume according to the storage capacity to be stored; the storage volume is the target resource.
[0154] This embodiment also includes:
[0155] Obtain the client address from the resource determination request and send it to the target resource pool; control the target resource pool to generate access information based on the client address and the storage cluster address corresponding to the target resource.
[0156] It should be noted that if the first type is a Storage Area Network (SLAN), the storage cluster to which the target resource pool belongs only needs to use the storage cluster address and the user's address as access information. The electronic device generates an access link and sends it to the user's terminal. The user's terminal accesses the storage cluster based on the binding information. Furthermore, the storage cluster determines the specific target resource (i.e., storage volume) of the storage content sent by the user's terminal based on its own terminal binding information, and then controls the user's access to the specific target resource. The binding information includes information such as the storage cluster, user's terminal, target resource pool, and target resource (storage volume).
[0157] In a SAN environment, a storage volume is a logically partitioned storage space, similar to a partition or logical disk in local storage. SAN storage volumes can be shared among multiple servers and support sharing via the iSCSI protocol.
[0158] For Network Attached Storage (NAT) and Object Storage Services (OSS) types, users can directly access specific target resources within their respective storage clusters via access links. It's important to note that for these two types, the access link is not bound to the user's device, but rather to the user. This allows the user to submit storage content from any device and access the target resource via the corresponding access link. However, for Storage Area Network (SLAN) types, the access link is actually bound to the user's device; only storage content submitted by that user can access the corresponding storage cluster via the access link.
[0159] Furthermore, the electronic device accesses the target resource pool or target resource through the address and interface of the storage cluster to which the target resource pool belongs, thereby controlling the creation of the target resource.
[0160] Furthermore, the received access information is configured in a standardized manner, i.e., managed uniformly.
[0161] It should be noted that in this embodiment, the remaining capacity of the resource pool and the storage capacity are prioritized to ensure that the target resource can be created normally. The principle of equal distribution priority is adopted to ensure that the target resource can be used efficiently after creation, avoiding fragmentation. At the same time, business weight (i.e., attribute score and priority) is also taken into account, and finally the target resource pool that best suits the user is determined.
[0162] When a target resource is created, the electronic device associates with the storage cluster to which the target resource pool belongs, and calls the interface of the storage cluster (which can be the Representational State Transfer Application Programming Interface, or RestAPI for short) to control the target resource pool to create resources on itself according to the storage capacity to be stored.
[0163] Furthermore, the electronic device will generate an access link according to a preset unified format, which includes the target resource type, the target resource access address (i.e., the file target directory address, bucket directory address, and target resource pool address), and authentication information.
[0164] It should be noted that if the first type is a Storage Area Network (SLAN), a supplementary parameter needs to be included in the resource determination request, namely, providing the client address or host address (specifically, the host iSCSI address). Electronic devices perform intelligent matching to maximize the rational utilization of the remaining capacity resources of each storage cluster.
[0165] This embodiment provides a resource determination method. In this embodiment, the storage cluster is a heterogeneous storage cluster. Based on different types, the target resources and their access parameters are determined in a targeted manner, and access information is generated to facilitate user access to the corresponding target resources.
[0166] Example 7
[0167] This embodiment is a further refinement of any of the above embodiments, and specifically includes:
[0168] In response to access from at least one storage cluster, at least one resource pool is determined from the storage cluster; the second type of the resource pool is consistent with the type of the storage cluster.
[0169] When an electronic device takes over at least one storage cluster, it first connects to at least one storage cluster, and each storage cluster reports its own basic parameters, such as priority.
[0170] This embodiment also includes an optional method for determining at least one resource pool from the storage cluster, specifically:
[0171] In response to the fact that the storage cluster includes at least one storage space, each storage space is identified as a resource pool; the storage space includes a storage pool and / or a file system, and the storage space is mapped to the resource pool.
[0172] It should be noted that one storage space corresponds to one resource pool. For example, if a storage cluster includes one storage pool and one file system, then the storage pool is identified as one resource pool, and the file system is identified as one resource pool.
[0173] Storage pooling is a technology that integrates multiple physical hard drives into a single logical storage unit using Redundant Array of Independent Disks (RAID) technology. It combines multiple hard drives into a large storage space, allowing for more flexible management and use of storage resources.
[0174] It also includes an alternative approach to identify at least one resource pool from the storage cluster: in response to the storage cluster not containing storage space, the storage cluster is identified as a resource pool.
[0175] This approach is for storage clusters that do not have the concept of storage pools.
[0176] Specifically, the entire storage cluster is treated as a resource pool.
[0177] It should be noted that the embodiments of this application actually abstract heterogeneous storage clusters, abstracting storage clusters from different vendors into a unified resource pool, thus shielding the underlying differences.
[0178] This embodiment provides a resource determination method. In this embodiment, each storage space is determined as a resource pool, or the storage cluster is determined as a resource pool, which can achieve the purpose of shielding underlying differences.
[0179] Example 8
[0180] This embodiment is a further refinement of any of the above embodiments. This embodiment is an optional method before receiving a resource determination request sent by the user terminal, including:
[0181] The marking task is triggered periodically. Within each marking period, the attribute score of at least one resource pool is calculated, and the resource pool is marked within the marking period using the corresponding attribute score.
[0182] For example, once an electronic device identifies at least one resource pool, it needs to periodically mark at least one of the resource pools, that is, update the attribute scores of at least one resource pool in different marking periods.
[0183] For example, for the above 7 resource pools, a marking task can be triggered every 4 hours to calculate the corresponding attribute score for each marking period.
[0184] For example, suppose the attribute score for the current marking period is calculated, and then the current marking period is marked, while the attribute scores for previous marking periods are deleted. Additionally, the type of resource pool can also be marked, indicating which type of resource the pool can create.
[0185] This embodiment also includes: an optional method for calculating the attribute scores of at least one resource pool. Figure 4 This is a schematic flowchart of a resource determination method provided in Embodiment 8. Figure 4 As shown, it specifically includes:
[0186] S401, obtain the remaining capacity, total capacity, average number of operations per unit, average latency, and basic parameters of at least one resource pool during the marking period; the basic parameters include the nominal maximum number of operations per unit and the maximum latency.
[0187] The nominal maximum number of operations per unit refers to the maximum number of operations per unit of the corresponding storage cluster, which is the maximum number of input / output operations per second (IOPS) of the storage cluster per unit of time.
[0188] S402 calculates a capacity score for each resource pool based on its remaining capacity and total capacity.
[0189] The capacity score (represented as Score capacity) is calculated as follows:
[0190] .
[0191] S403 calculates an operand score for each resource pool based on the corresponding maximum and average number of operands per unit.
[0192] The operand score (represented as Score iops) is calculated as follows:
[0193] .
[0194] S404 calculates a latency score for each resource pool based on the corresponding average latency and maximum latency.
[0195] The latency score (represented as Score latency) is calculated as follows:
[0196] .
[0197] S405, for each resource pool, obtains attribute scores based on the corresponding capacity score, operand score, and latency score.
[0198] The attribute score (represented as the score pool) is calculated as follows:
[0199] .
[0200] The average number of operations per unit can be a 24-hour average, and the average latency can be a 24-hour average. The upper limit of each score range is 10, and scores below 0 are taken as 0. The values of each weight parameter (capacity weight parameter α, number of operations weight parameter β, latency weight parameter γ) can be defined according to the usage scenarios of each user business (capacity sensitive, performance priority, low latency). In general scenarios, α is 0.3, β is 0.5, and γ is 0.2; in high-performance scenarios, α is 0.1, β is 0.6, and γ is 0.3.
[0201] For example, if a resource pool has a total capacity of 100TB and a remaining capacity of 30TB, then the remaining capacity accounts for 30%, the average number of operations per unit is 45,000 (the nominal maximum number of operations per unit is 100,000), and the average latency is 3ms (the maximum latency is 10ms). Therefore, the final attribute score of the resource pool is 5.05.
[0202] It should be noted that the higher the attribute score, the greater the probability that the resource pool will be identified as the target resource pool.
[0203] According to the above embodiments, a multi-dimensional scoring mechanism for resource pools has been established. Attribute scores are calculated based on weight parameters, and then a comprehensive score is calculated based on the proportion of remaining capacity to total capacity, attribute scores, and priorities. In this way, the comprehensive score of each resource pool is dynamically calculated, thus achieving dynamic processing.
[0204] It should be noted that the attribute scores and resource parameters in this application embodiment will change over time. In order to more accurately represent the attribute scores and resource parameters, this application embodiment proposes to periodically trigger the marking task, thereby marking based on the corresponding resource parameters in different marking periods to obtain the attribute scores in different marking periods. Based on this, the target resource pool that meets the user's needs can be determined more accurately.
[0205] This application provides a unified management method for intelligently determined heterogeneous storage cluster resources, which generally achieves the following three points:
[0206] First, resource classification and grading: when connecting storage clusters to electronic devices, at least one resource pool should be determined for different types of storage clusters and the basic parameters (such as priority) provided by the corresponding manufacturers.
[0207] The second point is the intelligent determination algorithm, which dynamically determines the target resource pool based on user needs by matching the first type and the storage capacity to be stored, implementing the uniform priority principle based on resource parameters, attribute scoring, and comprehensive scoring (i.e., the proportion of remaining capacity to the total capacity, attribute score, and priority).
[0208] Thirdly: Automated creation of target resources. Electronic devices call the storage cluster interface to control the target resource pool to create target resources that meet the user's storage capacity requirements, and generate access links in a preset uniform format for access information.
[0209] Based on the above embodiments, the embodiments of this application specifically include the following advantages:
[0210] First, the resource pool has been abstracted. Attribute scores are calculated based on different types of storage clusters and resource parameters and basic parameters within the marking period, providing a strong foundation for subsequent intelligent matching and improving the efficiency of resource pool matching.
[0211] Secondly, the intelligent resource pool matching only requires user demand provided by the user end and does not require manual intervention. It determines the optimal target resource by the proportion of remaining capacity to total capacity, attribute scores, and priorities, and can reduce costs. It is expected to reduce the procurement cost of storage clusters by 10-30%.
[0212] Thirdly, automated access adaptation means users don't need to worry about differences in the underlying storage cluster type. After standard configuration, they can obtain target resources with "one click," thus providing users with a unified access point for target resources (i.e., a pre-set access link in a uniform format), which improves the user experience.
[0213] Figure 5 This is an interactive schematic diagram provided for this application. For example... Figure 5 As shown, it includes: a management device, a host, and associated storage devices. The management device is one type of electronic device in this embodiment, used for intelligent allocation or determination of the target resource pool in this embodiment. The associated storage devices include the associated storage cluster in this embodiment, i.e., the storage cluster corresponding to the target resource pool. The host is one type of user terminal.
[0214] S501, the host sends a resource confirmation request.
[0215] S502, the management device filters from multiple resource pools based on the first type and the storage capacity to be determined to identify at least one first resource pool.
[0216] S503, the management device filters from the first resource pool based on the resource parameters of at least one first resource pool in the current marking period to determine at least one second resource pool.
[0217] S504, for each second resource pool, the management device inputs the remaining capacity, total capacity, attribute score and priority of the second resource pool in the current marking period into the preset comprehensive scoring algorithm to obtain the comprehensive score of the second resource pool.
[0218] S505, the management device selects the highest comprehensive score from the comprehensive scores corresponding to at least one second resource pool.
[0219] S506, the management device will determine the second resource pool corresponding to the highest comprehensive score as the target resource pool.
[0220] S507, Manage device control target resource pool to create target resources.
[0221] S508, the storage cluster to which it belongs generates access information for the target resource.
[0222] S509, the storage cluster to which it belongs sends access information to the management device.
[0223] S510: The management device generates a pre-defined, uniformly formatted access link based on the access information.
[0224] S511, the management device sends an access link to the host.
[0225] Figure 6 This is a resource determination system architecture diagram provided for an embodiment of this application. For example... Figure 6 As shown, it includes: intelligent allocation device 601, target user terminal 602, storage clusters corresponding to different manufacturers 603, and multiple resource pools of heterogeneous storage after abstract marking 604.
[0226] Among them, the intelligent distribution device 601 is a type of electronic device.
[0227] The intelligent allocation device 601 manages and communicates with storage clusters 603 from different vendors. The front end of the intelligent allocation device 601 is the target user terminal 602, which also communicates with it. Multiple heterogeneous storage resource pools 604, after being abstracted and marked, communicate with the intelligent allocation device 601. The connection method can be wired or wireless. The multiple heterogeneous storage resource pools 604 are determined by abstracting and marking data from the storage clusters 603 from different vendors.
[0228] Among them, the storage clusters corresponding to different manufacturers 603 include storage cluster 1 of manufacturer A 6031, storage cluster 2 of manufacturer B 6032, and storage cluster 3 of manufacturer C 6033.
[0229] Specifically, the target user terminal 602 triggers a resource determination request to the intelligent allocation device 601. The intelligent allocation device 601 controls the creation of the target resource, determines the target resource pool from multiple resource pools 604, and then provides the target resource. Furthermore, it generates a preset unified format access link based on the storage cluster type and the target resource.
[0230] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method.
[0231] Figure 7 This is a schematic diagram of the resource determination device provided in an embodiment of this application. Figure 7 As shown, embodiments of this application also provide a resource determination device 700, including the following modules:
[0232] The receiving module 701 is used to receive a resource determination request sent by the user terminal;
[0233] The determination module 702 is used to determine the target resource pool from multiple resource pools based on the resource determination request; the multiple resource pools belong to different types of storage clusters;
[0234] Control module 703 is used to control the creation of target resources from the target resource pool; and to determine which target resources belong to the target resource pool.
[0235] The receiving module 701 is also used to receive access information of the target resource sent by the storage cluster to which the target resource pool belongs, and the generating module 704 is used to generate an access link in a preset unified format based on the access information and send the access link to the user terminal.
[0236] The determination module 702, when determining the target resource pool from multiple resource pools based on a resource determination request, is specifically used for:
[0237] Based on the first type and the storage capacity to be stored, multiple resource pools are filtered to determine at least one first resource pool;
[0238] At least one second resource pool is determined by filtering from the first resource pool based on the resource parameters of at least one first resource pool within the current marking period;
[0239] The target resource pool is determined by filtering from at least one second resource pool based on the attribute score of the corresponding second resource pool within the current marking period.
[0240] The determining module 702, when filtering from multiple resource pools based on a first type and the storage capacity to determine at least one first resource pool, is specifically used for:
[0241] The second type is determined; the second type is the type of the storage cluster to which the corresponding resource pool belongs.
[0242] Resource pools that are consistent with the second type and the first type are identified as resource pools that satisfy the type requirement;
[0243] Select multiple resource pools from the resource pools that meet the type requirements, whose remaining capacity is greater than or equal to the storage capacity, and determine the multiple resource pools whose remaining capacity is greater than or equal to the storage capacity as the first resource pool.
[0244] The resource parameters include the total allocated capacity, the number of allocated users, and the remaining capacity of each first resource pool within the current marking period;
[0245] When determining at least one second resource pool by filtering from the first resource pool based on resource parameters of at least one first resource pool within the current marking period, the determining module 702 is specifically used for:
[0246] Within the current marking period, calculate the average capacity of the allocated resources; the average capacity of the allocated resources is the ratio of the sum of the total allocated capacity of each first resource pool to the sum of the number of allocated users;
[0247] Within the current marking period, calculate the capacity remainder; the capacity remainder is the remainder of the first capacity of the corresponding first resource pool divided by the average capacity of the allocated resources; the first capacity is the difference between the remaining capacity and the capacity to be stored;
[0248] At least one second resource pool is determined by filtering from the first resource pool based on the capacity remainder and the average capacity of the allocated resources.
[0249] The determination module 702, when filtering from the first resource pool based on capacity remainder and the average capacity of allocated resources to determine at least one second resource pool, is specifically used for:
[0250] Calculate the ratio of the remaining capacity to the average capacity of the allocated resources, and determine the ratio as the capacity ratio.
[0251] Select the first resource pool whose capacity ratio is within a preset capacity threshold from at least one first resource pool, and determine the first resource pool whose capacity ratio is within the preset capacity threshold as the second resource pool; there is at least one second resource pool.
[0252] The resource parameters also include the total capacity of each first resource pool within the current marking period;
[0253] When determining the target resource pool by filtering from at least one second resource pool based on the attribute scores of the second resource pool corresponding to the current marking period, the determination module 702 is specifically used for:
[0254] For each second resource pool, the remaining capacity, total capacity, attribute score, and priority of the second resource pool in the current marking period are input into the preset comprehensive scoring algorithm to obtain the comprehensive score of the second resource pool; the priority is derived from the basic parameters of the storage cluster to which it belongs.
[0255] Select the highest overall score from the overall scores corresponding to at least one second resource pool;
[0256] The second resource pool corresponding to the highest overall score is determined as the target resource pool.
[0257] Control module 703, when controlling the creation of target resources in the target resource pool, is specifically used for:
[0258] If the first type is network-attached storage, call the interface of the storage cluster to which the target resource pool belongs, and control the target resource pool to create a file directory according to the storage capacity to be stored in the storage cluster; the file directory is the target resource.
[0259] Control module 703 is also used for:
[0260] The system calls the interface of the storage cluster to control the target resource pool to create file directory addresses, create network shared paths and their domain names for external access to the target resources, and control the target resource pool to generate access information based on the file directory addresses and network shared path domain names.
[0261] Control module 703, when creating target resources in the target resource pool, is used for:
[0262] If the first type is an object storage service type, call the storage cluster interface to which the target resource pool belongs, and control the target resource pool to create a bucket directory according to the storage capacity to be stored in the storage cluster; the bucket directory is the target resource.
[0263] Control module 703 is also used for:
[0264] Call the interface of the storage cluster to control the target resource pool to create or query the bucket directory address and corresponding authentication information of the bucket directory, and control the target resource pool to generate access information based on the bucket directory address and corresponding authentication information.
[0265] The resource determination request also includes the client address; control module 703, when controlling the creation of target resources in the target resource pool, is used for:
[0266] If the first type is a storage area network type, call the interface of the storage cluster to which the target resource belongs, and control the target resource pool in the storage cluster to create a storage volume according to the storage capacity to be stored; the storage volume is the target resource.
[0267] Control module 703 is also used for:
[0268] Obtain the client address from the resource determination request and send it to the target resource pool;
[0269] The target resource pool is controlled to generate access information based on the user's address and the storage cluster address to which the target resource belongs.
[0270] The determining module 702 is further configured to: in response to access of at least one storage cluster, determine at least one resource pool from the storage cluster; the second type of the resource pool is consistent with the type of the storage cluster;
[0271] Module 702, when determining at least one resource pool from the storage cluster, is specifically used for:
[0272] In response to the fact that the storage cluster includes at least one storage space, each storage space is identified as a resource pool; the storage space includes a storage pool and / or a file system.
[0273] Alternatively, in response to the fact that storage space is not included in the storage cluster, the storage cluster can be defined as a resource pool.
[0274] The resource determination device provided in this embodiment further includes: a marking module;
[0275] The tagging module, before receiving the resource determination request sent by the user, is used for:
[0276] The marking task is triggered periodically. Within each marking period, the attribute scores of multiple resource pools are calculated, and the resource pools are marked according to the corresponding attribute scores within the marking period.
[0277] The tagging module, when calculating attribute scores for multiple resource pools, is specifically used for:
[0278] Obtain the remaining capacity, total capacity, average number of operations per unit, average latency, and basic parameters of multiple resource pools within the marking period; the basic parameters include the nominal maximum number of operations per unit and the maximum latency.
[0279] For each resource pool, a capacity score is calculated based on the corresponding remaining capacity and total capacity;
[0280] For each resource pool, an operand score is calculated based on the corresponding maximum number of operands per unit and average number of operands per unit.
[0281] For each resource pool, a latency score is calculated based on the corresponding average latency and maximum latency;
[0282] For each resource pool, an attribute score is obtained based on the corresponding capacity score, operand score, and latency score.
[0283] For a description of the features in the embodiment corresponding to the resource determination device, please refer to the relevant description in the embodiment corresponding to the resource determination method, which will not be repeated here.
[0284] Figure 8 A schematic diagram of the structure of the electronic device provided in this application. Figure 8 As shown, the electronic device 101 provided in this embodiment includes at least one processor 801 and a memory 802. Optionally, the electronic device 101 further includes a communication component 803. The processor 801, memory 802, and communication component 803 are connected via a bus 804.
[0285] In a specific implementation, at least one processor 801 executes computer execution instructions stored in memory 802, causing at least one processor 801 to execute the above-described resource determination method embodiment.
[0286] The specific implementation process of processor 801 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.
[0287] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the application can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.
[0288] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage device.
[0289] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.
[0290] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above-described resource determination method embodiments when it is run.
[0291] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.
[0292] Embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the above-described resource determination method embodiments.
[0293] Embodiments of this application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps in any of the resource determination method embodiments described above.
[0294] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0295] The resource determination method provided in this application has been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are only for the purpose of helping to understand the method and its core ideas. It should be noted that those skilled in the art can make several improvements and modifications to this application without departing from the principles of this application, and these improvements and modifications also fall within the protection scope of the claims of this application.
Claims
1. A method for determining resources, characterized in that, include: Receive resource confirmation requests sent by the user client; The resource determination request includes a first type and the storage capacity to be stored. Based on the first type and the storage capacity to be stored, multiple resource pools are selected to determine at least one first resource pool; the multiple resource pools belong to different types of storage clusters; Calculate the average capacity of allocated resources within the current marking period; The average capacity of the allocated resources is the ratio of the sum of the total allocated capacity of each first resource pool to the sum of the number of allocated users; Within the current marking period, calculate the capacity remainder; the capacity remainder is the remainder of the first capacity of the corresponding first resource pool divided by the average capacity of the allocated resources; The first capacity is the difference between the remaining capacity and the capacity to be stored; Calculate the ratio of the capacity remainder to the average capacity of the allocated resources, and determine the ratio as the capacity ratio; Select first resource pools whose capacity ratios are within a preset capacity threshold from at least one first resource pool, and determine the first resource pools whose capacity ratios are within the preset capacity threshold as second resource pools; the second resource pool is at least one. For each second resource pool, the remaining capacity, total capacity, attribute score, and priority of the second resource pool within the current marking period are input into a preset comprehensive scoring algorithm to obtain a comprehensive score for the second resource pool; the priority is derived from the basic parameters of the storage cluster to which it belongs; wherein, the preset comprehensive scoring algorithm is a pre-set algorithm that combines capacity, attribute score, and priority, and the calculation method is as follows: ; Where w1, w2, and w3 are the capacity weight, attribute weight, and priority weight, respectively, and Score represents the overall score. Select the highest overall score from the overall scores corresponding to at least one second resource pool; The second resource pool corresponding to the highest comprehensive score is determined as the target resource pool; The attribute score is determined based on the remaining capacity, total capacity calculation capacity score, average number of operations per unit, average latency, and basic parameters of the resource pool during the marking period; the basic parameters include the nominal maximum number of operations per unit and the maximum latency. Control the creation of target resources from the target resource pool; the target resources belong to the target resource pool; The system receives access information for the target resource from the storage cluster to which the target resource pool belongs, generates an access link in a preset unified format based on the access information, and sends the access link to the user terminal.
2. The method according to claim 1, characterized in that, The step of filtering from multiple resource pools based on the first type and the storage capacity to determine at least one first resource pool includes: The second type is determined; the second type is the type of the storage cluster to which the corresponding resource pool belongs. Resource pools that are consistent with the second type and the first type are identified as resource pools that satisfy the type requirement; From the resource pools that meet the type, select multiple resource pools whose remaining capacity is greater than or equal to the storage capacity to be stored, and determine the multiple resource pools whose remaining capacity is greater than or equal to the storage capacity to be stored as the first resource pool.
3. The method according to claim 1, characterized in that, The control of the target resource pool to create target resources includes: If the first type is network-attached storage, the interface of the storage cluster to which the target resource pool belongs is called, and the target resource pool is controlled to create a file directory according to the storage capacity to be stored in the storage cluster; the file directory is the target resource. The method further includes: The system calls the interface of the storage cluster to control the target resource pool to create a file directory address, and creates a network shared path and its domain name for external access to the target resource. The system also controls the target resource pool to generate the access information based on the file directory address and the network shared path domain name.
4. The method according to claim 1, characterized in that, The control of the target resource pool to create target resources includes: If the first type is an object storage service type, the storage cluster interface to which the target resource pool belongs is called, and the target resource pool is controlled to create a bucket directory according to the storage capacity to be stored in the storage cluster; the bucket directory is the target resource. The method further includes: The system calls the interface of the storage cluster to control the target resource pool to create or query the bucket directory address and corresponding authentication information of the bucket directory, and controls the target resource pool to generate the access information based on the bucket directory address and corresponding authentication information.
5. The method according to claim 1, characterized in that, The resource determination request also includes the user's client address; The control of the target resource pool to create target resources includes: If the first type is a storage area network type, the interface of the storage cluster to which the target resource belongs is called, and the target resource pool in the storage cluster is controlled to create a storage volume according to the storage capacity to be stored; the storage volume is the target resource. The method further includes: Obtain the client address from the resource determination request and send it to the target resource pool; The target resource pool is controlled to generate the access information based on the user terminal address and the storage cluster address to which the target resource belongs.
6. The method according to claim 1, characterized in that, The method further includes: In response to access from at least one storage cluster, at least one resource pool is determined from the storage cluster; the second type of the resource pool is consistent with the type of the storage cluster. The step of determining at least one resource pool from the storage cluster includes: In response to the fact that the storage cluster includes at least one storage space, each of the storage spaces is identified as a resource pool; the storage space includes a storage pool and / or a file system. Alternatively, in response to the storage cluster not containing storage space, the storage cluster may be defined as a resource pool.
7. The method according to claim 1, characterized in that, Before receiving the resource determination request sent by the user terminal, the method further includes: A marking task is triggered periodically. Within each marking period, an attribute score for at least one resource pool is calculated, and the resource pool is marked within the marking period using the corresponding attribute score.
8. The method according to claim 7, characterized in that, Calculate attribute scores for at least one resource pool, including: Obtain the remaining capacity, total capacity, average number of operations per unit, average latency, and basic parameters of at least one resource pool during the marking period; the basic parameters include the nominal maximum number of operations per unit and the maximum latency. For each resource pool, a capacity score is calculated based on the corresponding remaining capacity and total capacity; For each resource pool, an operand score is calculated based on the corresponding nominal maximum number of operands per unit and average number of operands per unit. For each resource pool, a latency score is calculated based on the corresponding average latency and maximum latency; For each resource pool, the attribute score is obtained based on the corresponding capacity score, operand score, and latency score.
9. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the resource determination method as described in any one of claims 1 to 8 when executing the computer program.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the resource determination method as described in any one of claims 1 to 8.
11. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the resource determination method as described in any one of claims 1 to 8.
Citation Information
Patent Citations
Heterogeneous object storage cluster access method, device and equipment and storage medium
CN112052222A
Multivariate heterogeneous storage cluster management method and storage medium
CN119743484A