Distributed resource control method and device, electronic equipment and storage medium

By parsing task information and optimizing resource allocation based on node status, the overload problem caused by uneven resource allocation in distributed systems is solved, achieving more efficient resource management.

CN121283973APending Publication Date: 2026-01-06BAIDU (CHINA) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511386364.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-25
Publication Date
2026-01-06

AI Technical Summary

Technical Problem

Distributed systems can experience localized overloads and performance issues when resources are unevenly allocated. Existing technologies struggle to optimize resource control logic to improve system performance.

Method used

By analyzing task information, the type, quantity, and usage period of resources are determined. Combined with the available resources and communication status of nodes, resource allocation is optimized to determine the target resources.

Benefits of technology

It improves the accuracy and efficiency of resource allocation and optimizes the quality of distributed resource management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121283973A_ABST
    Figure CN121283973A_ABST
Patent Text Reader

Abstract

The invention provides a distributed resource control method and device, electronic equipment and a storage medium, and relates to the technical field of computers, in particular to the technical fields of distributed resources, resource management and the like. According to the specific implementation scheme, a resource allocation request is received, and the allocation request comprises task information of a target task; the task information is analyzed, first description information of resources needed by the target task is determined, and the first description information comprises at least one of the following items: the type, the number and the use time period of the resources; determining second description information of available resources in the distributed nodes and communication states among the nodes; and determining the target resource corresponding to the target task from the available resources based on the communication state between the nodes, the second description information and the first description information, thereby improving the accuracy and efficiency of resource allocation, and optimizing the quality of distributed resource management.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and in particular to the fields of distributed computing and resource management, specifically to a distributed resource control method, apparatus, electronic device and storage medium. Background Technology

[0002] Distributed systems deploy components across different computer nodes, leveraging network communication to achieve collaborative work and forming a highly scalable, reliable, and high-performance architecture. However, this architecture can lead to localized overload and impact performance when resources are unevenly distributed. Therefore, optimizing the control logic of distributed resources is crucial for improving system performance. Summary of the Invention

[0003] This disclosure aims to at least partially address one of the technical problems in the related art.

[0004] Therefore, the purpose of this disclosure is to propose a distributed resource control method, device, electronic device, and storage medium. By parsing the task information requesting resource allocation, the method determines the type, quantity, and usage period of the required resources. Combined with the available resources of each distributed node and the communication status between nodes, the method determines the target resource, thereby improving the accuracy and efficiency of resource allocation and optimizing the quality of distributed resource management.

[0005] According to a first aspect of this disclosure, a distributed resource control method is provided, comprising: Receive a resource allocation request, wherein the allocation request includes task information of the target task; The task information is parsed to determine the first description information of the resources required for the target task, wherein the first description information includes at least one of the following: the type, quantity, and usage period of the resources; Determine the second description information of the available resources in each node, and the communication status between the nodes; Based on the communication status between the nodes, the second description information, and the first description information, the target resource corresponding to the target task is determined from the available resources.

[0006] According to a second aspect of this disclosure, a distributed resource control device is provided, comprising: A receiving module is used to receive a resource allocation request, wherein the allocation request includes task information of the target task; The parsing module is used to parse the task information and determine the first description information of the resources required by the target task, wherein the first description information includes at least one of the following: the type, quantity, and usage period of the resources; The first determining module is used to determine the second description information of the available resources in each node, and the communication status between the nodes; The second determining module is used to determine the target resource corresponding to the target task from the available resources based on the communication status between the nodes, the second description information, and the first description information.

[0007] According to a third aspect of this disclosure, an electronic device is provided, comprising: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the distributed resource control method as described in the first aspect.

[0008] According to a fourth aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions for causing the computer to perform the distributed resource control method as described in the first aspect.

[0009] According to a fifth aspect of this disclosure, a computer program product is provided, including computer instructions that, when executed by a processor, implement the steps of the distributed resource control method as described in the first aspect.

[0010] The distributed resource control method, apparatus, electronic device, and storage medium disclosed herein have the following beneficial effects: By parsing the task information requesting resource allocation, we can determine the type, quantity, and usage period of the required resources. Combined with the available resources of each distributed node and the communication status between nodes, we can determine the target resources, thereby improving the accuracy and efficiency of resource allocation and optimizing the quality of distributed resource management.

[0011] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0012] The above and / or additional aspects and advantages of this disclosure will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, which are provided for a better understanding of the present invention and are not intended to limit the scope of this disclosure, wherein: Figure 1 This is a flowchart illustrating a distributed resource control method according to an embodiment of the present disclosure; Figure 2This is a flowchart illustrating a distributed resource control method according to another embodiment of the present disclosure; Figure 3 This is a schematic diagram of the structure of a distributed resource control device according to an embodiment of the present disclosure; Figure 4 A block diagram of an exemplary electronic device suitable for implementing embodiments of the present disclosure is shown. Detailed Implementation

[0013] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0014] The embodiments disclosed herein relate to the technical fields of distributed computing, resource management, etc.

[0015] Distributed computing is a method that uses multiple distributed systems to collaboratively complete complex computing tasks. Its core lies in decomposing large tasks into multiple sub-tasks, assigning them to different computing nodes for parallel processing, and finally aggregating the results to improve overall computing efficiency.

[0016] Resource management refers to the effective planning, organization, command, coordination and control of various resources to ensure the rational use and optimal allocation of resources.

[0017] The collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0018] The following description, with reference to the accompanying drawings, outlines a distributed resource control method, apparatus, electronic device, and storage medium according to embodiments of the present disclosure.

[0019] It should be noted that the execution subject of the distributed resource control method in this embodiment is a distributed resource control device, which can be implemented by software and / or hardware. The device can be configured in an electronic device, which may include, but is not limited to, a terminal, a server, etc.

[0020] In this embodiment of the disclosure, each step of the distributed resource control method can be implemented in a resource management platform. The resource management platform obtains the various information required for resource control by interacting with a resource registration platform and a user management platform.

[0021] It should be noted that the distributed resources in this disclosure can be at least one of the following: GPU (Graphics Processing Unit), CPU (Central Processing Unit), memory, disk, network, etc.

[0022] Figure 1 This is a flowchart illustrating a distributed resource control method according to an embodiment of the present disclosure.

[0023] like Figure 1 As shown, the distributed resource control method includes: S101: Receive resource allocation request.

[0024] The allocation request may include task information for the target task. Task information refers to the key data or rules required to allocate resources in order to complete the target task.

[0025] In this embodiment of the disclosure, the resource allocation request received by the resource management platform may be sent by the user management platform, which allows users to apply for the required resources and fill in the task information of the target task.

[0026] It should be noted that, in this embodiment of the disclosure, the task information can be filled in by the user, such as the type and quantity of resources required, or the usage time, or it can be a Docker image that the user has customized, which includes the code, runtime environment, system tools, library files, etc. required to run the application.

[0027] S102: Analyze the task information to determine the first descriptive information of the resources required by the target task.

[0028] The first descriptive information may include at least one of the following: the type of resource, the quantity, and the time period of use.

[0029] It should be noted that, in this embodiment of the disclosure, when the distributed resource is a GPU, the resource type can be divided into homogeneous and heterogeneous. By parsing the task information, it is determined whether the resources required by the target task need to have completely identical hardware architecture, computing power, and memory configuration, such as the same model or generation of products, with consistent performance parameters, etc. When the distributed resource is other resources, such as storage resources, the resource type can be divided into dynamically backed and non-volatile memory, or it can also be divided into homogeneous storage and heterogeneous storage, etc.

[0030] In this embodiment of the disclosure, after receiving a resource allocation request, the resource management platform can parse the task information of the target task contained in the resource allocation request to obtain the first description information of the resources required by the target task. For example, when the task information is a Docker image, resources of the same type need to be allocated, so the resource types in the first description information are isomorphic.

[0031] S103: Determine the second description information of the available resources in each node and the communication status between each node.

[0032] Available resources refer to resources in the distributed nodes that are not fully occupied. The second description information may include at least one of the following: the machine address where the resource is located, the version information of the resource, the model, and the utilization rate of the resource (the current proportion of the resource being occupied).

[0033] The communication status between nodes can be synchronous, asynchronous, or other similar. By monitoring the communication status, node load can be assessed, task allocation can be dynamically adjusted, and inconsistencies caused by communication delays can be avoided.

[0034] In this embodiment of the disclosure, the resource management platform can interact with the resource registration platform to determine the second description information of available resources in each distributed node, as well as the communication status between each node.

[0035] In this embodiment, the resource manager can manually upload the node information of the resource to the resource registration platform. A node can contain multiple physical machines, and the resource versions and models on each physical machine can be the same or different. After receiving the node information, the resource registration platform can retrieve the addresses of all machines within the node and then install monitoring programs on the machines according to the addresses. The monitoring program can collect the second description information of available resources in each distributed node and the communication status between nodes in real time. The collected information is then uploaded to the resource registration platform, enabling the resource registration platform to update the second description information of available resources in each distributed node and the communication status between nodes in real time.

[0036] It should be noted that the second description information may also include information such as video memory information, temperature, encoder, decoder, real-time readings, and clock frequency.

[0037] S104: Based on the communication status between each node, the second description information, and the first description information, determine the target resource corresponding to the target task from the available resources.

[0038] In this embodiment of the disclosure, available resources that match the first description information can be filtered first based on the second description information. Then, based on the communication status between the nodes where the filtered available resources are located, a combination of nodes with low communication latency and high bandwidth can be selected, thereby determining the target resource corresponding to the target task from the available resources.

[0039] It should be noted that in this disclosure, multiple users may request resource allocation simultaneously. In such cases, resources will be allocated sequentially based on the priority of the users and their target tasks, from highest to lowest priority. Priority can be determined by the user's registration permissions; users can be categorized by their permissions, such as ordinary users, advanced users, senior users, and administrators, with higher permissions resulting in higher priority. Alternatively, priority can be determined by combining factors such as the user's historical usage records, whether the user is a paying user, and relevant task information metrics. This disclosure does not limit the choice of which method to use.

[0040] In this embodiment of the disclosure, after determining the target resource, the resource management platform can provide the user who sent the resource allocation request with the machine address corresponding to the target resource, and send information to the monitoring program to instruct the monitoring program to grant the user permission to complete the resource allocation.

[0041] It should be noted that the target resource can be a single resource in a single distribution node, multiple resources in a single distribution node, or multiple resources in multiple distribution nodes.

[0042] In this embodiment, by parsing the task information requesting resource allocation, the type, quantity, and usage period of the required resources are determined. Combined with the available resources of each distributed node and the communication status between nodes, the target resources are determined, thereby improving the accuracy and efficiency of resource allocation and optimizing the quality of distributed resource management.

[0043] Figure 2 This is a flowchart illustrating a distributed resource control method proposed in another embodiment of this disclosure.

[0044] like Figure 2 As shown, the distributed resource control method includes: S201: Receive resource allocation request.

[0045] For a detailed description of S201, please refer to the above embodiments, which will not be repeated here.

[0046] S202: When the task information is a Docker image, run a container based on the Docker image to determine the first description information of the resources required by the target task.

[0047] In this embodiment, the Docker image can provide an executable program in a preset format. This program is based on the open-source deep learning framework PyTorch and can be containerized using Docker. It provides locations for setting parameters such as the master node IP address (master_ip), master node port number (master_port), and total number of processes (rank_size). Furthermore, the Docker file can specify information such as the number of resources required for the program to run. Therefore, containers can be run based on the Docker image, and the initial description information of the resources required for the target task can be determined.

[0048] In this embodiment of the disclosure, by running a container based on a Docker image when the task information is a Docker image, and determining the first description information, the applicable scenarios for resource allocation can be enriched, ensuring that the container obtains the required computing resources when it starts up, and improving the flexibility of resource allocation.

[0049] S203: Determine the second description information of the available resources in each node and the communication status between each node.

[0050] It should be noted that the method for determining the second descriptive information of available resources in a distribution node may differ depending on whether the distribution node is a newly registered node.

[0051] Optionally, if any distribution node is a newly registered node, the registration information of that distribution node can be determined as the second description information.

[0052] In this embodiment of the disclosure, when any distributed node is a newly registered node, it indicates that the resources in this node are not occupied. Therefore, the second description information of the available resources in the node can be directly determined from the registration information of the node. The registration information may include information such as the physical machine addresses of each node, the version information and model of the resources, and the size of the available resources.

[0053] Alternatively, based on the monitoring information returned by the monitoring service in each distributed node, a second descriptive information of the available resources in that distributed node can be determined.

[0054] The monitoring service is the service provided by the monitoring program in the above embodiments.

[0055] In this embodiment of the disclosure, after a node is registered, a monitoring program can be installed on the node, so that the monitoring service can monitor information such as the resource utilization rate in each distributed node in real time. Then, after the resource management platform receives a resource allocation request, it can determine the second description information of the available resources in the distributed node based on the monitoring information returned by the monitoring service in each distributed node.

[0056] In this embodiment of the disclosure, the second description information of available resources in the distributed nodes is determined by the node registration information or the monitoring information of the monitoring service. This can improve the flexibility of resource description information determination, provide reliable data for resource allocation, and help improve the efficiency of resource allocation.

[0057] Optionally, upon receiving a registration request from any distributed node, a monitoring service installation command can be sent to that distributed node first. Then, upon receiving a response from any distributed node, the monitoring service identifier in the response is associated with and stored with that distributed node.

[0058] In this embodiment of the disclosure, a monitoring service can be installed in each distributed node, and a unique identifier can be set for each monitoring service. After the distributed node responds to the monitoring service installation instruction and stores the corresponding monitoring service identifier with the distributed node, the distributed node to which the received monitoring information belongs can be quickly determined based on the monitoring service identifier that sent the monitoring information. This enables the rapid and accurate determination of the second description information of the available resources in each distributed node, which is beneficial to improving the efficiency of resource allocation.

[0059] It should be noted that, in this embodiment of the disclosure, the communication status between nodes can be determined in a variety of ways.

[0060] Optionally, the actual total bandwidth, effective total bandwidth and / or transmission delay between each node can be tested to determine the communication status between each node.

[0061] The actual total bandwidth is the maximum theoretical transmission rate of the physical link between nodes.

[0062] Among them, the effective total bandwidth is the actual available bandwidth affected by factors such as protocol overhead, congestion, and packet loss.

[0063] Transmission delay refers to the time it takes for a message to be sent from one node to be received by another node.

[0064] In this embodiment of the disclosure, the link quality between nodes can be evaluated and the communication status between nodes can be determined by testing at least one of the actual total bandwidth, effective total bandwidth and transmission delay between each node. This allows for a more comprehensive evaluation of the communication status between nodes and provides a reliable basis for resource allocation.

[0065] It should be noted that the communication status between nodes can include information such as bandwidth utilization, latency stability, and packet loss rate.

[0066] Alternatively, we can first obtain the execution status information corresponding to each cross-node task in the system, and then determine the communication status between each node based on the execution status information.

[0067] In this embodiment of the disclosure, since the task is executed across nodes, and task execution depends on the interaction between nodes, and the status information can reflect the success or failure, delay or anomaly of the interaction, the communication status between nodes can be inferred through the execution status information. For example, if the corresponding execution status information is data transmission failure when two nodes are executing a task, it can be determined that the communication status between the two nodes is abnormal.

[0068] In this embodiment of the disclosure, the communication status between nodes is determined by analyzing the execution status information corresponding to the tasks executed across nodes in the system. This makes the determined communication status more consistent with the actual situation and more accurate, thus providing conditions for improving the reliability of resource allocation.

[0069] S204: Based on the communication status between each node, the second description information, and the first description information, determine the target resource corresponding to the target task from the available resources.

[0070] For a detailed description of S204, please refer to the above embodiments, which will not be repeated here.

[0071] It should be noted that after determining the target resource corresponding to the target task from the available resources, the target resource quantity corresponding to each node can also be determined. Then, based on the target resource quantity corresponding to each node and the first description information, the second description information of the available resources of that node is updated.

[0072] The target resource quantity refers to the amount of resources used by the target task at each node.

[0073] In this embodiment of the disclosure, when allocating target resources to target tasks, it is necessary to update the description information of available resources in the distribution nodes in a timely manner according to the usage of the target tasks, so as to ensure the accuracy of the calculation when allocating resources to other tasks in the future, and to guarantee the stability and reliability of resource allocation.

[0074] Figure 3 This is a schematic diagram of the structure of a distributed resource control device proposed in an embodiment of the present disclosure.

[0075] like Figure 3 As shown, the distributed resource control device 30 includes: The receiving module 301 is used to receive a resource allocation request, wherein the allocation request includes task information of the target task; The parsing module 302 is used to parse the task information and determine the first description information of the resources required by the target task, wherein the first description information includes at least one of the following: the type, quantity, and usage period of the resource; The first determining module 303 is used to determine the second description information of the available resources in each node and the communication status between each node; The second determining module 304 is used to determine the target resource corresponding to the target task from the available resources based on the communication status between each node, the second description information, and the first description information.

[0076] In some possible embodiments, the parsing module 302 may specifically be used for: When the task information is a Docker image, a container is run based on the Docker image to determine the first descriptive information of the resources required by the target task.

[0077] In some possible embodiments, the first determining module 303 may specifically be used for at least one of the following: If any distributed node is a newly registered node, the registration information of that distributed node shall be determined as the second description information; Based on the monitoring information returned by the monitoring service in each distributed node, a second descriptive information of the available resources in that distributed node is determined.

[0078] In some possible embodiments, the first determining module 303 may also be used for: Upon receiving a registration request from any distributed node, a monitoring service installation instruction is sent to that distributed node. Upon receiving a response from any distributed node, the monitoring service identifier in the response is associated with and stored with that distributed node.

[0079] In some possible embodiments, the second determining module 304 may also be used for: Determine the target resource quantity for each node; Based on the target resource quantity and first description information corresponding to each node, update the second description information of the available resources of that node.

[0080] In some possible embodiments, the first determining module 303 may specifically be used for: Test the actual total bandwidth, effective total bandwidth and / or transmission delay between each node to determine the communication status between each node.

[0081] In some possible embodiments, the first determining module 303 may specifically be used for: Obtain the execution status information of each cross-node task in the system; Based on the execution status information, the communication status between each node is determined.

[0082] It should be noted that the foregoing explanation of the distributed resource control method also applies to the distributed resource control device of this embodiment, and will not be repeated here.

[0083] In this embodiment, by parsing the task information requesting resource allocation, the type, quantity, and usage period of the required resources are determined. Combined with the available resources of each distributed node and the communication status between nodes, the target resources are determined, thereby improving the accuracy and efficiency of resource allocation and optimizing the quality of distributed resource management.

[0084] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.

[0085] Figure 4 A schematic block diagram of an example electronic device 400 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0086] like Figure 4 As shown, device 400 includes a computing unit 401, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 402 or a computer program loaded from storage unit 408 into random access memory (RAM) 403. RAM 403 may also store various programs and data required for the operation of device 400. The computing unit 401, ROM 402, and RAM 403 are interconnected via bus 404. Input / output (I / O) interface 405 is also connected to bus 404.

[0087] Multiple components in device 400 are connected to I / O interface 405, including: input unit 406, such as keyboard, mouse, etc.; output unit 407, such as various types of monitors, speakers, etc.; storage unit 408, such as disk, optical disk, etc.; and communication unit 409, such as network card, modem, wireless transceiver, etc. Communication unit 409 allows device 400 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0088] The computing unit 401 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 401 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 401 performs the various methods and processes described above, such as distributed resource control methods. For example, in some embodiments, the distributed resource control method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 408. In some embodiments, part or all of the computer program may be loaded and / or installed on device 400 via ROM 402 and / or communication unit 409. When the computer program is loaded into RAM 403 and executed by the computing unit 401, one or more steps of the distributed resource control method described above may be performed. Alternatively, in other embodiments, the computing unit 401 may be configured to perform distributed resource control methods by any other suitable means (e.g., by means of firmware).

[0089] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0090] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0091] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0092] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0093] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), the Internet, and blockchain networks.

[0094] Computer systems can include clients and servers. Clients and servers are generally geographically separated and typically interact via communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. A server can be a cloud server, also known as a cloud computing server or cloud host, a hosting product within the cloud computing service system that addresses the shortcomings of traditional physical hosts and VPS (Virtual Private Server) services, such as high management difficulty and weak business scalability. Servers can also be servers for distributed systems or servers incorporating blockchain technology.

[0095] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0096] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this disclosure, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified. In the description of this disclosure, the words "if" and "suppose" as used may be interpreted as "when," "when," "in response to determination," or "in the circumstances."

[0097] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A distributed resource control method, comprising: receiving a resource allocation request, wherein the allocation request comprises task information of a target task; parsing the task information to determine first description information of resources required by the target task, wherein the first description information comprises at least one of the following: type, quantity, and usage period of the resources; determining second description information of available resources in each node and communication states between the nodes; determining target resources corresponding to the target task from the available resources based on the communication states between the nodes, the second description information, and the first description information.

2. The method of claim 1, wherein, The parsing of the task information to determine the first description information of resources required by the target task comprises: in a case where the task information is a docker image, running a container based on the docker image to determine the first description information of resources required by the target task.

3. The method of claim 1, wherein, The determination of the second description information of available resources in each node comprises at least one of the following: in a case where any distributed node is a newly registered node, determining registration information of the any distributed node as the second description information; determining the second description information of available resources in each of the distributed nodes based on monitoring information returned by a monitoring service in the distributed node.

4. The method of claim 3, wherein, The method further comprises: in a case where a registration request of any distributed node is received, sending a monitoring service installation instruction to the any distributed node; in a case where response information returned by the any distributed node is received, associating and storing a monitoring service identifier in the response information with the any distributed node.

5. The method of claim 1, wherein, After the determination of the target resources corresponding to the target task from the available resources, the method further comprises: determining an amount of target resources corresponding to each node; updating the second description information of available resources in each node based on the amount of target resources corresponding to the node and the first description information.

6. The method of any one of claims 1-5, wherein, The determination of the communication states between the nodes comprises: testing actual total bandwidth, effective total bandwidth, and / or transmission delay between the nodes to determine the communication states between the nodes.

7. The method of any one of claims 1-5, wherein, The determination of the communication states between the nodes comprises: obtaining execution state information corresponding to each cross-node task in the system; determining the communication states between the nodes based on the execution state information.

8. A distributed resource control apparatus, comprising: a receiving module configured to receive a resource allocation request, wherein the allocation request comprises task information of a target task; a parsing module configured to parse the task information to determine first description information of resources required by the target task, wherein the first description information comprises at least one of the following: type, quantity, and usage period of the resources; a first determining module configured to determine second description information of available resources in each node and communication states between the nodes; a second determining module configured to determine target resources corresponding to the target task from the available resources based on the communication states between the nodes, the second description information, and the first description information.

9. An electronic device, comprising: at least one processor; and ​ a memory in communication with the at least one processor; wherein the memory has stored instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the distributed resource control method of any one of claims 1-7.

10. A non-transitory computer-readable storage medium having stored thereon computer instructions, wherein the computer instructions, when executed by a processor, cause the processor to perform the method of any one of claims 1-9. wherein the computer instructions are for causing the computer to perform the distributed resource control method of any one of claims 1-7.

11. A computer program product, characterised in that, a computer program comprising instructions which, when executed by a processor, implement the steps of the distributed resource control method of any one of claims 1-7.