Method, apparatus, electronic device, medium and product for allocating computing resources

CN122152485APending Publication Date: 2026-06-05DAWNING INFORMATION IND (BEIJING) CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
DAWNING INFORMATION IND (BEIJING) CO LTD
Filing Date
2024-11-28
Publication Date
2026-06-05

AI Technical Summary

Technical Problem

In existing technologies, cloud computing platforms randomly determine computing resources, resulting in poor compatibility between computing resources and computing tasks, leading to resource waste.

Method used

By receiving computing resource allocation requests, the system uses scheduling algorithms to determine target computing nodes from private and public clouds based on tenant identifiers and resource types, ensuring that the number of computing resources matches user needs, and providing interface information for user-side use.

Benefits of technology

It improves the accuracy of computing resource allocation, avoids resource waste, and enhances resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122152485A_ABST
    Figure CN122152485A_ABST
Patent Text Reader

Abstract

The application provides a computing resource allocation method and device, electronic equipment, medium and product. The method comprises the following steps: receiving a computing resource allocation request sent by a target user end; determining a target resource type according to a target tenant identifier, wherein the target resource type comprises a private cloud resource or a public cloud resource; determining a target computing node from a private cloud and / or a public cloud according to the target resource type and a target resource quantity through a scheduling algorithm, wherein the target computing node comprises computing resources with a quantity greater than or equal to the target resource quantity; determining target interface information corresponding to the target computing node, and sending the target interface information to the target user end, so that the target user end uses the computing resources of the target computing node according to the target interface information. According to the above scheme, the target computing node corresponding to the target resource type is determined through the scheduling algorithm, and the computing resources of the target computing node match the target resource type of the target user end, thereby improving the accuracy of allocating computing resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of cloud computing technology, and in particular to a method, apparatus, electronic device, medium and product for allocating computing resources. Background Technology

[0002] With the rapid development of High Performance Computing (HPC) and supercomputing technologies, cloud computing platforms can execute local client-side computing tasks. Furthermore, cloud computing platforms support computing tasks for various business scenarios. Cloud computing platforms encompass several different types.

[0003] In related technologies, when a computing resource allocation request is received from a user, a type of cloud computing platform is randomly selected, and computing resources from the randomly selected cloud computing platform are allocated to the user to fulfill the user's computing tasks.

[0004] However, randomly determined cloud computing platforms may have poor compatibility between computing resources and computing tasks, resulting in the inability to fully utilize computing resources and thus wasting computing resources. Summary of the Invention

[0005] This application provides a method, apparatus, electronic device, medium, and product for allocating computing resources, thereby improving the accuracy of computing resource allocation.

[0006] In a first aspect, this application provides a method for allocating computing resources, comprising: receiving a computing resource allocation request sent by a target user terminal, the computing resource allocation request including a target resource quantity and a target tenant identifier; determining a target resource type based on the target tenant identifier, the target resource type including private cloud resources or public cloud resources; determining a target computing node from a private cloud and / or public cloud using a scheduling algorithm based on the target resource type and the target resource quantity, the number of computing resources included in the target computing node being greater than or equal to the target resource quantity; determining target interface information corresponding to the target computing node, and sending the target interface information to the target user terminal so that the target user terminal can use the computing resources of the target computing node according to the target interface information.

[0007] Optionally, the method described above, determining the target resource type based on the target tenant identifier, includes: determining the correspondence between the tenant identifier and the resource type; if the correspondence includes the target tenant identifier, then determining the target resource type based on the target tenant identifier and the correspondence; if the correspondence does not include the target tenant identifier, then determining the security level corresponding to the target tenant identifier, and determining the target resource type based on the security level.

[0008] Optionally, the method described above, based on the target resource type and the target resource quantity, determines the target computing node from the private cloud and / or public cloud using a scheduling algorithm, including: determining the first available resource quantity of the private cloud and the second available resource quantity of the public cloud; determining multiple candidate computing nodes from the private cloud and the public cloud through an open application programming interface, and determining multiple node information corresponding to the multiple candidate computing nodes; and determining the target computing node from the multiple candidate computing nodes using the scheduling algorithm based on the target resource type, the target resource quantity, the first available resource quantity, the second available resource quantity, and the multiple node information.

[0009] Optionally, the method described above, based on the target resource type, the target resource quantity, the first available resource quantity, the second available resource quantity, and the multiple node information, determines the target computing node from the multiple candidate computing nodes using the scheduling algorithm, including: determining the target available resource quantity corresponding to the target resource type from the first available resource quantity and the second available resource quantity; if the target resource quantity is less than or equal to the target available resource quantity, then inputting the target resource quantity, the target available resource quantity, and the multiple node information into the scheduling algorithm to obtain the target computing node; if the target resource quantity is greater than the target available resource quantity, then inputting the target resource type, the target resource quantity, the first available resource quantity, the second available resource quantity, and the multiple node information into the scheduling algorithm to obtain the target computing node.

[0010] Optionally, the method described above, determining the target available resource quantity corresponding to the target resource type from the first available resource quantity and the second available resource quantity, includes: if the target resource type is a private cloud resource, then determining the first available resource quantity as the target available resource quantity; if the target resource type is a public cloud resource, then determining the second available resource quantity as the target available resource quantity.

[0011] Optionally, the method described above further includes: obtaining the resource usage status of the target computing node, the resource usage status including whether it is used or not; if the resource usage status is unused and the duration is longer than a preset duration, then releasing the computing resources of the target computing node.

[0012] Optionally, the method described above further includes: determining the target tenant type corresponding to the target user terminal based on the target tenant identifier, wherein the target tenant type includes an organization type or a project type; if the target tenant type is an organization type, sending first permission information to the target user terminal, wherein the first permission information includes permission to manage user terminals whose tenant type is a project type; and if the target tenant type is a project type, sending second permission information to the target user terminal, wherein the first permission information includes permission to use computing resources.

[0013] Secondly, this application provides a computing resource allocation apparatus, comprising: a receiving module, configured to receive a computing resource allocation request sent by a target user terminal, the computing resource allocation request including a target resource quantity and a target tenant identifier; a determining module, configured to determine a target resource type based on the target tenant identifier, the target resource type including private cloud resources or public cloud resources; a scheduling module, configured to determine a target computing node from a private cloud and / or public cloud based on the target resource type and the target resource quantity using a scheduling algorithm, the number of computing resources included in the target computing node being greater than or equal to the target resource quantity; and an allocation module, configured to determine target interface information corresponding to the target computing node and send the target interface information to the target user terminal so that the target user terminal can use the computing resources of the target computing node according to the target interface information.

[0014] Optionally, in the apparatus described above, the determining module is specifically configured to determine the correspondence between the tenant identifier and the resource type; the determining module is further configured to determine the target resource type based on the target tenant identifier and the correspondence if the correspondence includes the target tenant identifier; the determining module is further configured to determine the security level corresponding to the target tenant identifier and determine the target resource type based on the security level if the correspondence does not include the target tenant identifier.

[0015] Optionally, the apparatus as described above further includes: an execution module, configured to determine a first number of available resources in the private cloud and a second number of available resources in the public cloud; the execution module is further configured to determine a plurality of candidate computing nodes from the private cloud and the public cloud through an open application programming interface, and to determine multiple node information corresponding to the plurality of candidate computing nodes; the execution module is further configured to determine the target computing node from the plurality of candidate computing nodes through the scheduling algorithm based on the target resource type, the target resource quantity, the first number of available resources, the second number of available resources, and the multiple node information.

[0016] Optionally, in the apparatus described above, the execution module is specifically configured to determine the target available resource quantity corresponding to the target resource type from the first available resource quantity and the second available resource quantity; the execution module is further configured to, if the target resource quantity is less than or equal to the target available resource quantity, input the target resource quantity, the target available resource quantity, and the plurality of node information into the scheduling algorithm to obtain the target computing node; the execution module is further configured to, if the target resource quantity is greater than the target available resource quantity, input the target resource type, the target resource quantity, the first available resource quantity, the second available resource quantity, and the plurality of node information into the scheduling algorithm to obtain the target computing node.

[0017] Optionally, in the apparatus described above, the execution module is specifically configured to determine the first available resource quantity as the target available resource quantity if the target resource type is a private cloud resource; the execution module is also specifically configured to determine the second available resource quantity as the target available resource quantity if the target resource type is a public cloud resource.

[0018] Optionally, the apparatus as described above further includes: a control module, configured to acquire the resource usage status of the target computing node, the resource usage status including whether it is used or not; the control module is further configured to release the computing resources of the target computing node if the resource usage status is unused and the duration is longer than a preset duration.

[0019] Optionally, the apparatus as described above further includes: a management module, configured to determine the target tenant type corresponding to the target user terminal based on the target tenant identifier, wherein the target tenant type includes an organization type or a project type; the management module is further configured to send first permission information to the target user terminal if the target tenant type is an organization type, wherein the first permission information includes permissions to manage user terminals whose tenant type is a project type; the management module is further configured to send second permission information to the target user terminal if the target tenant type is a project type, wherein the first permission information includes permissions to use computing resources.

[0020] Thirdly, this application provides an electronic device, including: a processor, and a memory communicatively connected to the processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory to implement the method described in any one of the first aspects.

[0021] Fourthly, this application provides a computer-readable storage medium storing computer-executable instructions, which are executed by a processor as described in any one of the first aspects.

[0022] Fifthly, this application provides a computer program product, including a computer program, which is executed by a processor as described in any one of the first aspects.

[0023] This application provides a method, apparatus, electronic device, medium, and product for allocating computing resources. The method includes: receiving a computing resource allocation request sent by a target user terminal, the computing resource allocation request including a target resource quantity and a target tenant identifier; determining a target resource type based on the target tenant identifier, the target resource type including private cloud resources or public cloud resources; determining a target computing node from the private cloud and / or public cloud using a scheduling algorithm based on the target resource type and the target resource quantity, the number of computing resources included in the target computing node being greater than or equal to the target resource quantity; determining target interface information corresponding to the target computing node, and sending the target interface information to the target user terminal so that the target user terminal can use the computing resources of the target computing node according to the target interface information. This solution improves the accuracy of computing resource allocation by using a scheduling algorithm to determine the target computing node corresponding to the target resource type, ensuring that the computing resources of the target computing node match the target resource type of the target user terminal. Attached Figure Description

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

[0025] Figure 1 A schematic diagram illustrating an application scenario of a computing resource allocation method provided in an embodiment of this application;

[0026] Figure 2 A flowchart illustrating a method for allocating computing resources provided in an embodiment of this application;

[0027] Figure 3 A flowchart illustrating a method for allocating computing resources provided in an embodiment of this application;

[0028] Figure 4 A schematic diagram illustrating the determination of node information provided in an embodiment of this application;

[0029] Figure 5 A schematic diagram illustrating the determination of a target computing node provided in an embodiment of this application;

[0030] Figure 6A schematic diagram of the multi-tenant architecture provided in the embodiments of this application;

[0031] Figure 7 A schematic diagram of a computing resource allocation device provided in an embodiment of this application;

[0032] Figure 8 A schematic diagram of a computing resource allocation device provided in an embodiment of this application;

[0033] Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.

[0034] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation

[0035] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0036] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use, processing, transmission, provision, disclosure, and application of the relevant data all comply with the relevant laws, regulations, and standards of the relevant countries and regions, have taken necessary confidentiality measures, do not violate public order and good morals, and provide corresponding operation portals for users to choose to authorize or refuse.

[0037] It should be noted that the computing resource allocation method, apparatus, electronic equipment, medium and product of this application can be used in the field of cloud computing technology, or in any field other than cloud computing. The application field of the computing resource allocation method, apparatus, electronic equipment, medium and product of this application is not limited.

[0038] Figure 1This is a schematic diagram illustrating an application scenario of a computing resource allocation method provided in an embodiment of this application. Using the illustrated scenario as an example: The user sends an allocation request to the cloud computing platform. The cloud computing platform determines the corresponding computing node based on the allocation request and sends computing node information to the user, enabling the user to use the computing resources of the computing node according to the computing node information, thereby executing computing tasks.

[0039] In practical applications, cloud computing platforms include private clouds and public clouds. Private clouds provide a more secure and controllable resource environment, while public clouds offer elastic resource scalability. Private clouds and public clouds are suitable for different business scenarios.

[0040] The examples illustrate that user clients can originate from enterprises or universities, with different sources corresponding to different business scenarios. For some enterprise business scenarios, which have strict data security and access control standards, private cloud computing resources are suitable. For some university business scenarios, which have open and shared requirements, public cloud computing resources are suitable.

[0041] In related technologies, when a cloud computing platform receives a resource allocation request, it randomly allocates computing resources to the user end. However, there may be a mismatch between the allocated computing resources and the user end's business scenario, resulting in the inability to fully utilize computing resources and thus wasting them.

[0042] The method for allocating computing resources provided in this application aims to solve the above-mentioned technical problems in the prior art.

[0043] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.

[0044] Figure 2 A flowchart illustrating a method for allocating computing resources provided in this application embodiment is shown. The method includes the following steps:

[0045] S201. Receive the computing resource allocation request sent by the target user terminal.

[0046] The computing resource allocation request includes the target resource quantity and the target tenant identifier.

[0047] Among them, the target resource data is the amount of resources required by the target user to execute the computing task. The target tenant identifier is the unique tenant identifier of the tenant corresponding to the target user.

[0048] For example, a multi-tenant system can be used to manage multiple user terminals, with each user terminal corresponding to one tenant. A multi-tenant system allows for unified management of multiple user terminals, improving operational efficiency.

[0049] S202. Determine the target resource type based on the target tenant identifier.

[0050] Optionally, the business scenario of the target user terminal can be determined based on the target tenant identifier, and the target resource type can be determined based on the business scenario.

[0051] Based on the scenario examples, for business scenarios with high security requirements, the target resource type is determined to be private cloud resources. For business scenarios with high sharing requirements, the target resource type is determined to be public cloud resources.

[0052] Based on the above implementation methods, the target resource type is determined according to the business scenario, thereby achieving matching of computing resources with the business scenario and improving the accuracy of computing resource allocation.

[0053] S203. Based on the type and quantity of target resources, determine the target computing nodes from the private cloud and / or public cloud using a scheduling algorithm.

[0054] Optionally, a scheduling algorithm can be designed based on predefined rules and logic, or a scheduling algorithm can be obtained by training a training model.

[0055] For example, the scheduling algorithm first determines computing nodes from the cloud computing platform corresponding to the target resource type. If the number of computing resources on the corresponding cloud computing platform does not reach the target resource quantity, computing nodes are determined from other cloud computing platforms until the target resource quantity is reached.

[0056] With scenario examples, for tasks with low computational demands and small data volumes, resources should be allocated primarily from the public cloud to fully utilize its elastic scaling capabilities. For computationally intensive tasks with large data volumes, resources should be allocated primarily from the private cloud to ensure high performance and data security. For sudden high-load tasks, resources should first be allocated from the private cloud, and additional resources should be drawn from the public cloud only if these resources are insufficient.

[0057] S204. Determine the target interface information corresponding to the target computing node, and send the target interface information to the target user terminal so that the target user terminal can use the computing resources of the target computing node according to the target interface information.

[0058] Optionally, the interface information may include application programming interface (API) endpoints, authentication information, request methods, or request parameters, etc., which are not limited in this application.

[0059] The API endpoint is the entry point for the user to access the target compute node. Authentication information, such as keys, tokens, or certificates, is used to verify the user's identity, ensuring that only legitimate users can access the target compute node. The request method specifies the HTTP method that the user can use. Request parameters, such as path parameters, query parameters, or request body parameters, are the parameters passed by the user in the request.

[0060] With the help of scenario examples, the target interface information can enable the target user to accurately connect to the target computing node, thereby accurately using the computing resources of the target computing node.

[0061] The computing resource allocation method provided in this application embodiment receives a computing resource allocation request sent by a target user terminal. The computing resource allocation request includes a target resource quantity and a target tenant identifier. Based on the target tenant identifier, a target resource type is determined, which may include private cloud resources or public cloud resources. Using a scheduling algorithm, a target computing node is determined from the private cloud and / or public cloud based on the target resource type and the target resource quantity. The number of computing resources included in the target computing node is greater than or equal to the target resource quantity. Target interface information corresponding to the target computing node is determined and sent to the target user terminal, enabling the target user terminal to use the computing resources of the target computing node according to the target interface information. This scheme improves the accuracy of computing resource allocation by using a scheduling algorithm to determine the target computing node corresponding to the target resource type, ensuring that the computing resources of the target computing node match the target resource type of the target user terminal.

[0062] Based on any of the above embodiments, the following, in conjunction with Figure 3 This section provides a detailed explanation of the allocation process for computing resources.

[0063] Figure 3 This is a flowchart illustrating a method for allocating computing resources according to an embodiment of this application. Figure 3 As shown, the method includes:

[0064] S301, Receive the computing resource allocation request sent by the target user terminal.

[0065] It should be noted that the execution process of S301 is the same as that of S201, and will not be repeated here.

[0066] S302. Determine the correspondence between tenant identifiers and resource types.

[0067] The correspondence is determined in advance based on the business scenario of each user terminal.

[0068] With the example of a scenario, if any user's business scenario is an enterprise business scenario with high security requirements, then the corresponding resource type is private cloud resource. Establish the correspondence between the tenant identifier of the user and the private cloud resource and store the correspondence.

[0069] S303. If the correspondence includes the target tenant identifier, then the target resource type is determined based on the target tenant identifier and the correspondence.

[0070] With the example of the scenario, if the correspondence includes the target tenant identifier, it means that the resource type matching the user's business scenario has been determined, and the target resource type can be directly determined based on the correspondence.

[0071] Based on the above implementation methods, the target resource type can be quickly determined through the correspondence.

[0072] S304. If the correspondence does not include the target tenant identifier, determine the security level corresponding to the target tenant identifier, and determine the target resource type based on the security level.

[0073] With the example scenario, if the correspondence includes the target tenant identifier, it means that the resource type matching the user's business scenario has not been determined, and the target resource type needs to be determined at this time.

[0074] The security level reflects the security requirements of the client corresponding to the target tenant identifier. The higher the security level, the higher the security requirements.

[0075] Optionally, a security level threshold is determined. If the security level corresponding to the target tenant identifier is greater than or equal to the security level threshold, the target resource type is determined to be a private cloud resource. If the security level corresponding to the target tenant identifier is less than the security level threshold, the target resource type is determined to be a public cloud resource.

[0076] S305. Determine the first available resource quantity for the private cloud and the second available resource quantity for the public cloud.

[0077] The first available resource quantity refers to the number of currently idle resources on the private cloud computing platform, and the second available resource quantity refers to the number of currently idle resources on the public cloud computing platform. Currently idle resources can be allocated to user terminals.

[0078] For example, the resource usage status of private cloud and public cloud is monitored in real time, and the first available resource quantity and the second available resource quantity are determined based on the real-time resource usage status.

[0079] S306. Determine multiple candidate computing nodes from private and public clouds through open application programming interfaces, and determine multiple node information corresponding to the multiple candidate computing nodes.

[0080] Among them, the Open Application Programming Interface (OpenAPI) is a public interface that can be used externally.

[0081] This node information can include resource load, geographical location, or network latency information. This information can reflect whether a node is functioning properly.

[0082] It is understandable that considering factors such as node information can prioritize the selection of higher-quality computing nodes, thereby improving the efficiency of user-side computing tasks.

[0083] Below, in conjunction with Figure 4 The information about the identified nodes is explained.

[0084] Figure 4 This is a schematic diagram illustrating the determination of node information provided in an embodiment of this application. For example... Figure 4 As shown, both private and public clouds consist of multiple components, and they are independent of each other. Data exchange between the private and public clouds is achieved through an open application programming interface (API), thereby identifying multiple candidate compute nodes and node information from both the private and public clouds.

[0085] For example, the candidate compute nodes are idle compute nodes in a private cloud or a public cloud. Obtaining an idle compute node does not affect the normal use of compute nodes that are currently in operation.

[0086] S307. Using a scheduling algorithm, a target computing node is determined from multiple candidate computing nodes based on the target resource type, the target resource quantity, the target available resource quantity, and information on multiple nodes.

[0087] One feasible implementation method is to determine the target computing node as follows: determine the target available resource quantity corresponding to the target resource type from the first available resource quantity and the second available resource quantity; if the target resource quantity is less than or equal to the target available resource quantity, then input the target resource quantity, the target available resource quantity, and multiple node information into the scheduling algorithm to obtain the target computing node; if the target resource quantity is greater than the target available resource quantity, then input the target resource type, the target resource quantity, the first available resource quantity, the second available resource quantity, and multiple node information into the scheduling algorithm to obtain the target computing node.

[0088] With the example scenario, the target number of available resources is the first available resource to be used. After all the target available resources are used, other available resources will be used.

[0089] For example, the scheduling algorithm integrates the target resource type, resource quantity, and node information to determine the high-quality computing nodes and matching computing resources of the user end, and allocates the computing resources to the computing nodes to obtain the target computing nodes.

[0090] Optionally, the execution process of the scheduling algorithm includes: calculating the comprehensive score of each candidate computing node based on resource load, geographical location and network latency information, and selecting the computing node with the highest comprehensive score as the target computing node.

[0091] In this feasible implementation, the target computing nodes, determined by multiple dimensions, not only meet the business scenarios of the target users but also have good quality, thereby improving computing efficiency.

[0092] Furthermore, a feasible implementation method is to determine the target available resource quantity as follows: if the target resource type is a private cloud resource, then the first available resource quantity is determined as the target available resource quantity; if the target resource type is a public cloud resource, then the second available resource quantity is determined as the target available resource quantity.

[0093] Below, in conjunction with Figure 5 The determination of the target computation node is explained.

[0094] Figure 5 This is a schematic diagram illustrating the determination of a target computing node as provided in an embodiment of this application. Figure 5 As shown, the algorithm determines whether the target resource type is a private cloud resource. If it is a private cloud resource, and the number of target resources is less than or equal to the number of the first available resources, then only private cloud resources are used to determine the target compute node. If it is a private cloud resource, and the number of target resources is greater than the number of the first available resources, then private cloud resources are used first, followed by public cloud resources. If it is not a private cloud resource, and the number of target resources is less than or equal to the number of the second available resources, then only public cloud resources are used to determine the target compute node. If it is not a private cloud resource, and the number of target resources is greater than the number of the second available resources, then public cloud resources are used first, followed by private cloud resources.

[0095] To illustrate with a scenario example, if the target resource type is a private cloud resource, it means the private cloud's computing resources match the target user's needs. Furthermore, if the number of target resources is less than or equal to the number of available resources, it means the private cloud's resources meet the target user's requirements, and only the private cloud's computing resources will be used. If the number of target resources is greater than the number of available resources, it means the private cloud's resources do not meet the target user's needs, and the private cloud's computing resources will be used first until all private cloud computing resources are utilized, before public cloud computing resources are used. The same logic applies if the target resource type is a public cloud resource.

[0096] In this feasible implementation approach, prioritizing the use of available resources that match the business scenario can effectively improve the utilization rate of computing resources.

[0097] S308. Determine the target interface information corresponding to the target computing node, and send the target interface information to the target user terminal so that the target user terminal can use the computing resources of the target computing node according to the target interface information.

[0098] Optionally, the user can upload the file to be computed to the target computing node through the target interface information, and use the computing resources of the target computing node to compute the file to be computed to obtain the computation result.

[0099] One feasible implementation method for allocating computing resources further includes: obtaining the resource usage status of the target computing node, where the resource usage status includes whether it is in use or not; if the resource usage status is unused and the duration is longer than a preset duration, then releasing the computing resources of the target computing node.

[0100] With scenario examples, the resource usage status of the target computing node is monitored in real time, and the decision to release the target computing node's computing resources is determined based on the resource usage status. If the resource usage status is "in use," it means that the user is currently using the target computing node for computation. If the resource usage status is "unused," it means that the user is not currently using the target computing node, which may be because the user has completed all computation tasks or because the user is not currently executing computation tasks. Furthermore, if the resource usage status is "unused" and the duration exceeds a preset duration, it is assumed that the user has completed all computation tasks, and the computing resources of the target computing node are released.

[0101] For example, after the computing resources of the target computing node are released, the computing resources of the target computing node are in an idle state and can be used to execute computing tasks of other users.

[0102] In this feasible implementation, by monitoring the resource usage status of the target computing node in real time, computing resources can be released in a timely manner after the user no longer uses the target computing node, which can avoid resource waste and improve the utilization rate of computing resources.

[0103] One feasible implementation method for allocating computing resources further includes: determining the target tenant type corresponding to the target user terminal based on the target tenant identifier, wherein the target tenant type includes an organization type or a project type; if the target tenant type is an organization type, sending first permission information to the target user terminal, wherein the first permission information includes the permission to manage user terminals whose tenant type is a project type; if the target tenant type is a project type, sending second permission information to the target user terminal, wherein the first permission information includes the permission to use computing resources.

[0104] For example, a multi-tenant architecture can be used to manage multiple user terminals. The tenant corresponding to a user terminal can be an organization or a project. The organization is not the entity using computing resources; its tasks are to control, manage, and allocate projects, and it can also perform statistical analysis of resource usage. The project, as the entity allocating and using resources, allocates resources through research groups or teams, based on resource sharing and secure isolation. This allows for the allocation of supercomputing resources such as machine time, core count, card time, and storage as needed.

[0105] For example, both organizations and projects can be scaled down to form multi-level structures. People within an organization can be flexibly linked to different projects at different levels, enabling resource and manpower sharing, promoting inter-team collaboration, and ultimately improving the overall utilization of computing resources.

[0106] Below, in conjunction with Figure 6 The multi-tenant architecture is explained.

[0107] Figure 6 This is a schematic diagram of a multi-tenant architecture provided in an embodiment of this application. Figure 6 As shown, the administrator manages the organizational structure, controls and manages the organization's user terminals, and allocates user terminals for projects. The administrator also allocates resources to the user terminals of projects.

[0108] With scenario examples, it can be shown that by controlling, managing, and dividing the organization, isolation and sharing can be effectively controlled to match different business scenarios.

[0109] Specifically, the following controls can be implemented: Resource sharing: By using projects as the carrier for resource allocation and control, supercomputing resources such as machine time, core count, card time, and storage can be flexibly allocated to different projects. This ensures efficient resource utilization and avoids resource idleness and waste. Dynamic adjustment: Resource allocation can be dynamically adjusted according to actual needs, ensuring that resources are always used by the projects that need them most. Peer isolation: Isolation is implemented between organizations at the same level, ensuring that resources and data of different projects are independent and preventing the leakage of sensitive information and resource conflicts. Hierarchical sharing: Sharing is implemented between levels, ensuring that higher-level organizations can uniformly manage and coordinate resources across the entire organization, while lower-level organizations can obtain necessary support and resources. Multi-level user cascading expansion: Support for multi-level user structures allows for flexible expansion of users and projects according to enterprise needs, adapting to enterprise architectures of different sizes and complexities. Project-dimensional and organizational-dimensional management: Resource, job, and billing information can be statistically managed and managed through project and organizational dimensions, providing flexible management tools.

[0110] In this feasible implementation, the use of resources can be effectively controlled through a multi-tenant architecture, thereby improving resource utilization efficiency.

[0111] Figure 7 This is a schematic diagram of a computing resource allocation device provided in an embodiment of this application. Figure 7 As shown, the computing resource allocation device 70 may include: a receiving module 71, a determining module 72, a scheduling module 73, and an allocation module 74, wherein...

[0112] The receiving module 71 is used to receive a computing resource allocation request sent by the target user terminal. The computing resource allocation request includes the target resource quantity and the target tenant identifier.

[0113] The determination module 72 is used to determine the target resource type based on the target tenant identifier. The target resource type includes private cloud resources or public cloud resources.

[0114] The scheduling module 73 is used to determine the target computing node from the private cloud and / or public cloud according to the target resource type and the target resource quantity through a scheduling algorithm. The number of computing resources included in the target computing node is greater than or equal to the target resource quantity.

[0115] The allocation module 74 is used to determine the target interface information corresponding to the target computing node and send the target interface information to the target user terminal so that the target user terminal can use the computing resources of the target computing node according to the target interface information.

[0116] Optionally, the receiving module 71 can perform... Figure 2 S201 in the embodiment.

[0117] Optionally, module 72 can be executed. Figure 2 S202 in the embodiment.

[0118] Optionally, scheduling module 73 can execute Figure 2 S203 in the embodiment.

[0119] Optionally, allocation module 74 can execute Figure 2 S204 in the embodiment.

[0120] It should be noted that the computing resource allocation device shown in the embodiments of this application can execute the technical solution shown in the above method embodiments, and its implementation principle and beneficial effects are similar, so they will not be described again here.

[0121] In one possible implementation, the determining module 72 is specifically used for:

[0122] Determine the mapping between tenant identifiers and resource types;

[0123] If the mapping relationship includes the target tenant identifier, then the target resource type is determined based on the target tenant identifier and the mapping relationship;

[0124] If the mapping relationship does not include the target tenant identifier, then determine the security level corresponding to the target tenant identifier, and determine the target resource type based on the security level.

[0125] Figure 8 This is a schematic diagram of a computing resource allocation device provided in an embodiment of this application. Figure 7 Based on the illustrated embodiments, as Figure 8 As shown, the computing resource allocation device 80 further includes: an execution module 75, a control module 76, and a management module 77, wherein,

[0126] Execution module 75 is used for:

[0127] Determine the first available resource quantity for the private cloud and the second available resource quantity for the public cloud;

[0128] Multiple candidate computing nodes are identified from private and public clouds through open application programming interfaces, and information about multiple nodes corresponding to these candidate computing nodes is determined.

[0129] Based on the target resource type, target resource quantity, first available resource quantity, second available resource quantity, and multiple node information, a scheduling algorithm is used to determine the target computing node from multiple candidate computing nodes.

[0130] In one possible implementation, execution module 75 is specifically used for:

[0131] Determine the target available resource quantity corresponding to the target resource type from the first available resource quantity and the second available resource quantity;

[0132] If the target resource quantity is less than or equal to the target available resource quantity, then the target resource quantity, the target available resource quantity, and multiple node information are input into the scheduling algorithm to obtain the target computing node;

[0133] If the target resource quantity is greater than the target available resource quantity, then the target resource type, target resource quantity, first available resource quantity, second available resource quantity, and multiple node information are input into the scheduling algorithm to obtain the target computing node.

[0134] In one possible implementation, execution module 75 is specifically used for:

[0135] If the target resource type is a private cloud resource, then the first available resource quantity is determined as the target available resource quantity;

[0136] If the target resource type is a public cloud resource, then the second available resource quantity is determined as the target available resource quantity.

[0137] Control module 76 is used for:

[0138] Obtain the resource usage status of the target computing node, including whether the resource is in use or not.

[0139] If the resource usage status is unused and the duration exceeds the preset duration, then the computing resources of the target computing node will be released.

[0140] Management module 77 is used for:

[0141] Based on the target tenant identifier, determine the target tenant type corresponding to the target user terminal. The target tenant type includes organization type or project type.

[0142] If the target tenant type is an organization type, then send the first permission information to the target user terminal. The first permission information includes the permission to manage user terminals with the tenant type being project type.

[0143] If the target tenant type is a project type, then send the second permission information to the target user. The first permission information includes the permission to use computing resources.

[0144] Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application, such as... Figure 9 As shown, the electronic device includes:

[0145] The electronic device includes a processor 291 and a memory 292; it may also include a communication interface 293 and a bus 294. The processor 291, memory 292, and communication interface 293 can communicate with each other via the bus 294. The communication interface 293 can be used for information transmission. The processor 291 can invoke logical instructions stored in the memory 292 to execute the methods of the above embodiments.

[0146] Furthermore, the logic instructions in the aforementioned memory 292 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium.

[0147] The memory 292, as a computer-readable storage medium, can be used to store software programs and computer-executable programs, such as program instructions / modules corresponding to the methods in the embodiments of this application. The processor 291 executes functional applications and data processing by running the software programs, instructions, and modules stored in the memory 292, thereby implementing the methods in the above-described method embodiments.

[0148] The memory 292 may include a program storage area and a data storage area. The program storage area may store the operating system and application programs required for at least one function; the data storage area may store data created based on the use of the terminal device. Furthermore, the memory 292 may include high-speed random access memory and may also include non-volatile memory.

[0149] This application provides a non-transitory computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the methods described in the foregoing embodiments.

[0150] This application provides a computer program product, including a computer program that, when executed by a processor, implements the method as described in the foregoing embodiments.

[0151] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily essential to this application.

[0152] It should be further noted that although the steps in the flowchart are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowchart may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.

[0153] It should be understood that the above-described device embodiments are merely illustrative, and the device of this application can also be implemented in other ways. For example, the division of units / modules in the above embodiments is only a logical functional division, and there may be other division methods in actual implementation. For example, multiple units, modules, or components may be combined, or integrated into another system, or some features may be ignored or not executed.

[0154] Furthermore, unless otherwise specified, the functional units / modules in the various embodiments of this application can be integrated into one unit / module, or each unit / module can exist physically separately, or two or more units / modules can be integrated together. The integrated units / modules described above can be implemented in hardware or as software program modules.

[0155] When the integrated unit / module is implemented in hardware, the hardware can be digital circuits, analog circuits, etc. The physical implementation of the hardware structure includes, but is not limited to, transistors, memristors, etc. The processor can be any suitable hardware processor, such as CPU, GPU, FPGA, DSP, and ASIC. The storage unit can be any suitable magnetic or magneto-optical storage medium, such as Resistive Random Access Memory (RRAM), Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), Enhanced Dynamic Random Access Memory (EDRAM), High-Bandwidth Memory (HBM), Hybrid Memory Cube (HMC), etc.

[0156] If the integrated unit / module is implemented as a software program module and sold or used as an independent product, it can be stored in a computer-readable storage device (CMD). Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned memory includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.

[0157] In the above embodiments, the descriptions of each embodiment have their own emphasis. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments. The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as the combination of these technical features does not contradict each other, it should be considered within the scope of this specification.

[0158] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the following claims.

[0159] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.

Claims

1. A method for allocating computing resources, characterized in that, include: Receive a computing resource allocation request sent by the target user terminal, the computing resource allocation request including the target resource quantity and the target tenant identifier; Based on the target tenant identifier, the target resource type is determined, which includes private cloud resources or public cloud resources; Based on the target resource type and the target resource quantity, a scheduling algorithm is used to determine target computing nodes from private clouds and / or public clouds, wherein the number of computing resources included in the target computing node is greater than or equal to the target resource quantity; The target interface information corresponding to the target computing node is determined, and the target interface information is sent to the target user terminal so that the target user terminal can use the computing resources of the target computing node according to the target interface information.

2. The method according to claim 1, characterized in that, Based on the target tenant identifier, determine the target resource type, including: Determine the correspondence between tenant identifiers and resource types; If the correspondence includes the target tenant identifier, then the target resource type is determined based on the target tenant identifier and the correspondence. If the correspondence does not include the target tenant identifier, then the security level corresponding to the target tenant identifier is determined, and the target resource type is determined based on the security level.

3. The method according to claim 1 or 2, characterized in that, Based on the target resource type and the target resource quantity, a scheduling algorithm is used to determine target computing nodes from private clouds and / or public clouds, including: Determine the first available resource quantity of the private cloud and the second available resource quantity of the public cloud; Multiple candidate computing nodes are determined from the private cloud and the public cloud through an open application programming interface, and multiple node information corresponding to the multiple candidate computing nodes is determined. Based on the target resource type, the target resource quantity, the first available resource quantity, the second available resource quantity, and the multiple node information, the target computing node is determined from the multiple candidate computing nodes using the scheduling algorithm.

4. The method according to claim 3, characterized in that, Based on the target resource type, the target resource quantity, the first available resource quantity, the second available resource quantity, and the multiple node information, the scheduling algorithm determines the target computing node from the multiple candidate computing nodes, including: The target available resource quantity corresponding to the target resource type is determined from the first available resource quantity and the second available resource quantity; If the target resource quantity is less than or equal to the target available resource quantity, then the target resource quantity, the target available resource quantity, and the multiple node information are input into the scheduling algorithm to obtain the target computing node; If the number of target resources is greater than the number of target available resources, then the target resource type, the number of target resources, the number of first available resources, the number of second available resources, and the information of the multiple nodes are input into the scheduling algorithm to obtain the target computing node.

5. The method according to claim 4, characterized in that, Determining the target available resource quantity corresponding to the target resource type from the first available resource quantity and the second available resource quantity includes: If the target resource type is a private cloud resource, then the first available resource quantity is determined as the target available resource quantity; If the target resource type is a public cloud resource, then the second available resource quantity is determined as the target available resource quantity.

6. The method according to any one of claims 1-5, characterized in that, The method further includes; Obtain the resource usage status of the target computing node, including whether the resource usage status is in use or not. If the resource usage status is unused and the duration is longer than a preset duration, then the computing resources of the target computing node are released.

7. The method according to any one of claims 1-6, characterized in that, The method further includes; Based on the target tenant identifier, the target tenant type corresponding to the target user terminal is determined, and the target tenant type includes organization type or project type; If the target tenant type is an organization type, then send first permission information to the target user terminal. The first permission information includes permissions to manage user terminals with a project type tenant. If the target tenant type is a project type, then send second permission information to the target user terminal, the first permission information including the permission to use computing resources.

8. A computing resource allocation device, characterized in that, include: The receiving module is used to receive a computing resource allocation request sent by the target user terminal. The computing resource allocation request includes the target resource quantity and the target tenant identifier. The determination module is used to determine the target resource type based on the target tenant identifier, wherein the target resource type includes private cloud resources or public cloud resources; The scheduling module is used to determine target computing nodes from private clouds and / or public clouds based on the target resource type and the target resource quantity using a scheduling algorithm, wherein the number of computing resources included in the target computing node is greater than or equal to the target resource quantity; The allocation module is used to determine the target interface information corresponding to the target computing node, and send the target interface information to the target user terminal so that the target user terminal can use the computing resources of the target computing node according to the target interface information.

9. An electronic device, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1-7.

11. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method described in any one of claims 1-7.