Cloud computing task scheduling method, device, electronic device and storage medium

The cloud computing task scheduling method addresses scalability and availability issues by optimizing task distribution and execution across a distributed node system, enhancing resource allocation and task efficiency.

CN114625518BActive Publication Date: 2024-12-27AERIAL PHOTOGRAMMETRY & REMOTE SENSING CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202210409618.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-19
Publication Date
2024-12-27
Estimated Expiration
2042-04-19

AI Technical Summary

Technical Problem

Existing cloud computing systems exhibit low scalability and availability, failing to meet the diverse needs across multiple professions and fields.

Method used

A cloud computing task scheduling method that utilizes a distributed node system with a management node pool and computing node pools, where management nodes determine target nodes based on task requirements, generating and executing computing tasks across connected computing node pools, optimizing resource allocation and task execution.

Benefits of technology

Enhances system scalability and availability by efficiently executing computing tasks with varied requirements across multiple professions and fields, improving resource utilization and task execution efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114625518B_ABST
    Figure CN114625518B_ABST
Patent Text Reader

Abstract

The present application provides a cloud computing task scheduling method, device, electronic device and storage medium, the method comprising: receiving the task requirements to be scheduled through each management node in the management node pool, and determining the target management node according to the task requirements; the target management node generates a computing task matching the task requirements according to the configuration information corresponding to the task requirements, determines the target computing node pool from the computing node pool that is connected to the target management node in communication according to the computing task, and sends the computing task to each computing node in the target computing node; each computing node in the target node pool determines the target computing node according to the computing task; the target computing node executes the computing task and returns the execution result to the target management node. By determining the target computing node pool and the target computing node through the computing task, it is possible to realize the execution of computing tasks with multiple requirements, and improve the system's expansion capabilities across multiple professions and fields.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of cloud computing, and more specifically, to a method, device, electronic device and storage medium for scheduling cloud computing tasks. Background Art

[0002] Cloud computing system refers to the process of breaking down huge data computing programs into countless small programs through the network "cloud", and then processing and analyzing these small programs through a system composed of multiple servers to obtain results and return them to users. In the early days of cloud computing, it was simple distributed computing, solving task distribution and merging computing results. Therefore, cloud computing is also called grid computing. Through this technology, tens of thousands of data can be processed in a very short time, thus achieving powerful network services.

[0003] In the existing technology, cloud computing in various professional fields is often designed and implemented for single machines and fixed computing environments. However, these cloud computing can often only cover a small part of the needs. The actual needs are often across multiple professions and fields. Therefore, the existing technology has shortcomings such as low scalability and low availability, which cannot meet the actual needs. Summary of the invention

[0004] The purpose of the present application is to provide a cloud computing task scheduling method, device, electronic device and storage medium to address the deficiencies in the above-mentioned prior art, which can improve the scalability and availability of the system.

[0005] To achieve the above purpose, the technical solution adopted in the embodiment of the present application is as follows:

[0006] In a first aspect, an embodiment of the present application provides a cloud computing task scheduling method, which is applied to a distributed node system, wherein the distributed node system includes: a management node pool and multiple computing node pools, wherein the management node pool includes multiple management nodes, and each of the management nodes establishes a communication connection with one or more computing node pools in advance; the method includes:

[0007] Each management node in the management node pool receives the task requirements to be scheduled, and determines the target management node according to the task requirements;

[0008] The target management node generates a computing task matching the task requirement according to the configuration information and environment information corresponding to the task requirement, determines a target computing node pool from a computing node pool that is communicatively connected to the target management node according to the computing task, and sends the computing task to each computing node in the target computing node pool;

[0009] Each computing node in the target computing node pool determines a target computing node according to the computing task;

[0010] The target computing node executes the computing task and returns the execution result to the target management node.

[0011] Optionally, determining the target management node according to the task requirement includes:

[0012] Each management node in the management node pool determines the target management node according to resource occupation information of each management node.

[0013] Optionally, the target management node generates a computing task matching the task requirement according to the configuration information and environment information corresponding to the task requirement, and determines a target computing node pool from a computing node pool that is communicatively connected to the management node according to the computing task, including:

[0014] The target management node loads the configuration information and environment information corresponding to the task requirement into the task requirement to obtain a computing task matching the task requirement;

[0015] The target management node determines the target computing node pool according to the configuration information and environment information in the computing task and the configuration information and environment information of each computing node pool that is in communication connection with the target management node.

[0016] Optionally, each computing node in the target computing node pool determines a target computing node according to the computing task, including:

[0017] Each computing node in the target computing node pool determines a target computing node that satisfies the configuration information and environment information of the computing task based on the configuration information and environment information in the computing task and the configuration information and environment information of each computing node.

[0018] Optionally, the target computing node executes the computing task and returns the execution result to the target management node, including:

[0019] The target computing node adds the computing task to a task queue of the target computing node;

[0020] The target computing node schedules and executes each computing task in the task queue according to the priority of each task in the task queue, and returns the execution result of each computing task.

[0021] Optionally, the method further includes:

[0022] The target computing node determines whether to sleep according to the number of tasks in the task queue and / or the status information of the computing node pool system;

[0023] If so, the target computing node sleeps for a preset time period, and re-reads the tasks in the task queue after the sleep period ends.

[0024] Optionally, the method further includes:

[0025] The target computing node detects the execution status of the currently executing task according to a preset period.

[0026] In a second aspect, an embodiment of the present application further provides a cloud computing task scheduling device, the device comprising:

[0027] A determination module is used to manage each management node in the node pool to receive the task requirements to be scheduled, and determine the target management node according to the task requirements;

[0028] A determination module, used for the target management node to generate a computing task matching the task requirement according to the configuration information and environment information corresponding to the task requirement, determine a target computing node pool from a computing node pool that is communicatively connected to the target management node according to the computing task, and send the computing task to each computing node in the target computing node pool;

[0029] A determination module, used for each computing node in the target computing node pool to determine a target computing node according to the computing task;

[0030] An execution module is used for the target computing node to execute the computing task and return the execution result to the target management node.

[0031] Optionally, the determining module is specifically used to:

[0032] Each management node in the management node pool determines the target management node according to resource occupation information of each management node.

[0033] Optionally, the target management node generates a computing task matching the task requirement according to the configuration information and environment information corresponding to the task requirement, and determines a target computing node pool from a computing node pool that is communicatively connected to the management node according to the computing task, including:

[0034] The target management node loads the configuration information and environment information corresponding to the task requirement into the task requirement to obtain a computing task matching the task requirement;

[0035] The target management node determines the target computing node pool according to the configuration information and environment information in the computing task and the configuration information and environment information of each computing node pool that is in communication connection with the target management node.

[0036] Optionally, the determining module is specifically used to:

[0037] Each computing node in the target computing node pool determines a target computing node that satisfies the configuration information and environment information of the computing task based on the configuration information and environment information in the computing task and the configuration information and environment information of each computing node.

[0038] Optionally, the execution module is specifically used to:

[0039] The target computing node adds the computing task to a task queue of the target computing node;

[0040] The target computing node schedules and executes each computing task in the task queue according to the priority of each task in the task queue, and returns the execution result of each computing task.

[0041] Optionally, the execution module is specifically used to:

[0042] The target computing node determines whether to sleep according to the number of tasks in the task queue and / or the status information of the computing node pool system;

[0043] If so, the target computing node sleeps for a preset time period, and re-reads the tasks in the task queue after the sleep period ends.

[0044] Optionally, the execution module is specifically used to:

[0045] The target computing node detects the execution status of the currently executing task according to a preset period.

[0046] In a third aspect, an embodiment of the present application further provides an electronic device, comprising: a processor, a storage medium and a bus, wherein the storage medium stores program instructions executable by the processor, and when an application is running, the processor communicates with the storage medium via the bus, and the processor executes the program instructions to perform the steps of the cloud computing task scheduling method described in the first aspect above.

[0047] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored, and the computer program is read and executes the steps of the cloud computing task scheduling method described in the first aspect above.

[0048] The beneficial effects of this application are:

[0049] The present application provides a cloud computing task scheduling method, device, electronic device and storage medium, which receives the task requirements to be scheduled through each management node in the management node pool, and determines the target management node according to the task requirements; the target management node generates a computing task matching the task requirements according to the configuration information corresponding to the task requirements, determines the target computing node pool from the computing node pool that is connected to the target management node in communication according to the computing task, and sends the computing task to each computing node in the target computing node; each computing node in the target node pool determines the target computing node according to the computing task; the target computing node executes the computing task and returns the execution result to the target management node. By determining the target computing node pool and the target computing node through the computing task, it is possible to realize the execution of computing tasks with multiple requirements, and improve the system's expansion capabilities across multiple professions and fields. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0051] Figure 1 A schematic diagram of an exemplary scenario provided for an embodiment of the present application;

[0052] Figure 2 A schematic diagram of the execution environment configuration process provided in the embodiment of the present application;

[0053] Figure 3 A schematic diagram of a task verification process provided for an embodiment of the present application;

[0054] Figure 4 A flowchart of a cloud computing task scheduling method provided in an embodiment of the present application;

[0055] Figure 5 A schematic diagram of a process for determining a target computing node provided in an embodiment of the present application;

[0056] Figure 6 A schematic diagram of the scheduling process of tasks to be executed provided in an embodiment of the present application;

[0057] Figure 7 A schematic diagram of a process flow for obtaining task status of a target computing node provided in an embodiment of the present application;

[0058] Figure 8 A schematic diagram of a cloud computing task scheduling method provided in an embodiment of the present application;

[0059] Fig. 9A structural block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0060] To make the purpose, technical scheme and advantages of the embodiments of the present application clearer, the technical scheme in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. It should be understood that the drawings in the present application only serve the purpose of explanation and description and are not used to limit the scope of protection of the present application. In addition, it should be understood that the schematic drawings are not drawn in real proportion. The flowchart used in this application shows the operations implemented according to some embodiments of the present application. It should be understood that the operations of the flowchart can be implemented out of sequence, and the steps without logical context can be reversed in order or implemented simultaneously. In addition, those skilled in the art can add one or more other operations to the flowchart under the guidance of the content of the present application, or remove one or more operations from the flowchart.

[0061] In addition, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. The components of the embodiments of the present application described and shown in the drawings here can be arranged and designed in various configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the application claimed for protection, but merely represents the selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making creative work belong to the scope of protection of the present application.

[0062] It should be noted that the term "comprising" will be used in the embodiments of the present application to indicate the existence of the features declared thereafter, but does not exclude the addition of other features.

[0063] Figure 1 An exemplary scenario diagram provided for an embodiment of the present application is as follows: Figure 1 As shown, the method is applied to a distributed node system, which may include a management node pool and multiple computing node pools, wherein the management node pool may include multiple management nodes, each management node may establish a communication connection with one or more computing node pools in advance, and each management node may send a computing task to the one or more computing node pools with which the communication connection is established, and each computing node pool may include multiple computing nodes. It should be understood that Figure 1 The structure diagram shown is for illustration only, that is, the distributed node system may have Figure 1 More or fewer nodes, or with Figure 1 Different configurations are shown.

[0064] Optionally, a computing node pool can establish communication connections with multiple management nodes at the same time, but a computing node cannot belong to multiple computing node pools at the same time.

[0065] Optionally, before scheduling a computing task, the user can customize the computing task.

[0066] For example, the computing task execution environment, resource consumption, computing task priority, etc. can be customized, and the computing task with customized configuration can be verified, and the configuration information of the computing task that has passed the verification can be stored.

[0067] Figure 2 The following is a schematic diagram of the execution environment configuration process provided in the embodiment of the present application, such as Figure 2 As shown in the figure, the execution environment configuration process includes:

[0068] S101. Select execution language.

[0069] Optionally, the execution environment may specifically include an execution language, a language version, a compiler version, a build parameter, and an execution parameter. The execution language may refer to a programming language used to execute a computing task, such as C, C++, JAVA, Python, etc. The user may select a language type from the execution language to configure the computing task.

[0070] S102: Select execution language version.

[0071] Optionally, the language version may refer to a version of a programming language, such as Java 8, C++ 15, or Python 3.6. The user may select a language version from the programming language versions to configure the computing task.

[0072] S103. Select a compiler version.

[0073] Optionally, the editor version may refer to a version used by a programming language compiler, such as gcc14.5, a language built-in compiler, etc. The user may select an editor version from the editor versions to configure the computing task.

[0074] S104. Configure construction parameters.

[0075] Optionally, build parameters may refer to parameters that need to be passed to the compiler when the computing task is compiled from source code.

[0076] S105. Configure execution parameters.

[0077] Optionally, the execution parameter may refer to a command parameter that needs to be passed in after the computing task executes the command in the cloud computing environment. The user may customize the build parameters and execution parameters.

[0078] It should be understood that the execution order of some steps in the above steps S101-S105 can be interchanged and is not limited to the above order. For example, step S105 can be executed first, and then step S104.

[0079] Optionally, the computing task priority may specifically include user authority and the priority corresponding to the user authority. User authority may refer to whether the user has the authority to publish computing tasks, and the user authority may be used to authenticate whether the user is a legitimate user. The priority corresponding to the user authority may refer to all priorities that the user can configure for computing tasks that are lower than the user authority level. For example, if the user's priority level is 10, the user can configure all priorities in the 0-10 level.

[0080] Optionally, resource consumption may specifically include CPU demand, GPU demand, and resource demand function of the computing task. Among them, CPU demand may include core number, frequency, etc.; GPU demand may include graphics card version, quantity, frequency, etc.; resource demand function may specifically include memory demand function, graphics card demand function, and storage demand function. The resource demand function of the computing task may calculate the resource demand according to the input parameter list of the computing task, wherein the input parameter list of the computing task may be derived from other task attribute configurations, and all parameters of this computing task may be set by the user.

[0081] Figure 3 The task verification process diagram provided in the embodiment of the present application is as follows: Figure 3 As shown, the task verification process includes:

[0082] S201, building a virtual environment that matches the computing task. If the virtual environment that matches the computing task cannot be successfully built, the computing task verification is also deemed to have failed.

[0083] Optionally, after the user customizes the execution environment, priority and resource consumption required by the computing task through the aforementioned customization method, the configured computing task can be verified. Specifically, an execution virtual environment can be constructed in the cloud computing system. The execution virtual environment can be a virtual environment independent of the operating system and that meets the computing task requirements. The custom configured computing tasks can be compiled and executed in the execution virtual environment. For example, a sandbox technology can be used to construct the virtual environment.

[0084] S202, verify whether the computing task priority matches the user authority. If so, execute step S203; if not, the verification fails.

[0085] Optionally, after the cloud computing system successfully builds and executes the virtual environment, it verifies in the virtual environment whether the priority of the computing task matches the user authority. If they match, the computing task continues to be executed.

[0086] S203, executing the computing task. If other problems such as the task program occur during the task execution, resulting in the inability to successfully execute the task, the computing task verification fails.

[0087] Optionally, if no abnormal situation occurs during the execution of the computing task and the computing task is completed, the following step S204 is continued.

[0088] S204: Collect execution information of computing tasks.

[0089] The execution information of the computing task may include actual resource consumption in executing the computing task.

[0090] S205, verify whether the difference between the actual resource loss of the computing task and the custom resource loss exceeds a preset threshold. If so, the verification fails; if not, the verification passes and step S206 is executed.

[0091] Exemplarily, the preset threshold may be set to between 5% and 10%.

[0092] S206: If verification is successful, the configuration corresponding to the computing task is stored.

[0093] Optionally, if the computing task passes the verification, all configurations of the computing task are stored in a preset database, so that all configurations of the computing task can be called when the same type of task requirements are received later.

[0094] Figure 4 The present invention provides a flow chart of a method for scheduling cloud computing tasks, which is applied to the aforementioned distributed node system. Figure 4 As shown, the method includes:

[0095] S301. Each management node in the management node pool receives a task requirement to be scheduled, and determines a target management node according to the task requirement.

[0096] Optionally, the demand for the task to be scheduled may include an identifier of the task to be scheduled and a specific task to be scheduled, wherein the identifier may be information such as a name and an ID, and the task type of the task to be scheduled may be determined through the demand for the task to be scheduled.

[0097] Optionally, a suitable management node may be selected from the management nodes in the management node pool as a target management node according to a preset rule, and the task requirements to be scheduled may be sent to the target management node.

[0098] S302. The target management node generates a computing task matching the task requirement according to the configuration information corresponding to the task requirement, determines the target computing node pool from the computing node pool that is communicatively connected to the target management node according to the computing task, and sends the computing task to each computing node in the target computing node.

[0099] Optionally, after receiving the task requirements, the target management node generates a computing task that matches the task requirements according to preset rules and configuration information corresponding to the task requirements, wherein the computing task may specifically include all configuration information required for the computing task, such as priority, execution environment, and resource loss.

[0100] Optionally, there are one or more computing node pools that are communicatively connected to the target management node, wherein the configuration information of each computing node pool is also different, wherein the configuration information may include environmental information configuration, resource information configuration, etc. of the computing node pool, then a suitable computing node pool can be selected from the one or more computing node pools that are communicatively connected to it according to preset rules as the target computing node pool.

[0101] Optionally, the target computing node pool sends the received computing task to each computing node in the target computing node pool.

[0102] S303. Each computing node in the target node pool determines a target computing node according to the computing task.

[0103] The configuration information of each computing node is different, and the configuration information may include configuration information such as the computing environment, computing resource configuration, and computing type of the computing node.

[0104] Optionally, after receiving the computing task, each computing node in the target node pool may select the most suitable computing node from among the computing nodes as the target computing node according to a preset rule, and finally use the target computing node to execute the computing task.

[0105] S304: The target computing node executes the computing task and returns the execution result to the target management node.

[0106] Optionally, the target computing node may execute the computing task according to preset rules, and may return task information and a final execution result during the execution of the computing task, wherein the execution result may include execution success or execution failure.

[0107] In summary, this embodiment receives the task requirements to be scheduled through each management node in the management node pool, and determines the target management node according to the task requirements; the target management node generates a computing task matching the task requirements according to the configuration information corresponding to the task requirements, determines the target computing node pool from the computing node pool that is connected to the target management node in communication according to the computing task, and sends the computing task to each computing node in the target computing node; each computing node in the target node pool determines the target computing node according to the computing task; the target computing node executes the computing task and returns the execution result to the target management node. By determining the target computing node pool and the target computing node through the computing task, it is possible to realize the execution of computing tasks with various requirements, and improve the system's expansion capabilities across multiple professions and fields.

[0108] Optionally, determining the target management node according to the task requirements in the above step S301 may include:

[0109] Optionally, each management node in the management node pool determines the target management node based on the resource occupancy information of each management node. The resource occupancy information may refer to the idleness of the management node and the memory occupancy of the management node. If the memory occupancy of the management node is large, the management node may not accept the sent task requirements. If the memory occupancy of the management node is small and relatively idle, the management node may be selected as the target management node to receive the task requirements.

[0110] Optionally, the target management node in step S302 generates a computing task matching the task requirement according to the configuration information corresponding to the task requirement, determines a target computing node pool from a computing node pool in communication connection with the target management node according to the computing task, and sends the computing task to each computing node in the target computing node, which may include:

[0111] Optionally, the target management node loads the configuration information corresponding to the task requirement into the task requirement to obtain a computing task that matches the task requirement.

[0112] Optionally, the configuration information corresponding to the task requirement can be obtained from a preset database, wherein the preset database may refer to the preset database for storing the aforementioned customized computing tasks that have passed verification. The target management node can determine whether the preset database contains the configuration information of the task requirement based on the task identifier in the received task requirement. If so, it means that this type of task requirement has passed verification and can be received and executed. If not, it means that the task requirement is a new task requirement and the cloud computing system needs to verify the task requirement according to the aforementioned verification process. If the verification is passed, the task requirement can continue to be executed and stored in the preset database. If the verification fails, the task requirement is rejected.

[0113] Optionally, the target management node determines the target computing node pool according to the configuration information in the computing task and the configuration information of each computing node pool to which the target management node is communicatively connected.

[0114] Optionally, the configuration information of the computing task may include computing task resource consumption and computing task requirement environment, such as computing task CPU requirement, GPU requirement, memory requirement, execution language required for the computing task, execution language version, etc.

[0115] Optionally, the configuration information of the computing node pool may include resource information of the computing node pool and environmental information of the computing node pool, wherein the resource information of the computing node pool may include the memory usage of the computing node pool, and the environmental information of the computing node pool may include information such as the language types and language versions that the computing node pool can support.

[0116] Optionally, a computing node pool that is consistent with the demand environment of the computing task can be matched first according to the demand environment of the computing task, and then a computing node pool that matches the resource loss of the computing task is selected as the target computing node pool from the computing node pools that match the environment, and the target computing node pool receives the computing task.

[0117] Figure 5 A schematic diagram of a process for determining a target computing node provided in an embodiment of the present application is shown in FIG. Figure 5 As shown, each computing node in the target node pool in step S303 determines the target computing node according to the computing task, which may include:

[0118] S401. The target computing node pool receives a computing task and sends the resource consumption of the computing task to an available computing node.

[0119] Optionally, the target computing node sends the resource consumption of the computing task to an available computing node, wherein the available computing node may refer to a computing node with remaining available resources.

[0120] Optionally, the computing node may have one or more other computing tasks being executed, or may have no computing tasks. If the computing node has no available computing resources or the remaining available computing resources are insufficient to execute the computing task, the computing node does not receive the computing task.

[0121] S402: The available computing node calculates the available amount of resources of the computing node.

[0122] Optionally, the computing node that receives the resource consumption of the computing task calculates the available resources of the computing node.

[0123] S403: Match the most suitable computing node as the target computing node according to the available resources of the computing node and the resource consumption of the computing task.

[0124] Optionally, each computing node in the target computing node pool determines a target computing node that satisfies the configuration information of the computing task based on the configuration information in the computing task and the configuration information of each computing node.

[0125] Optionally, a computing node with the largest amount of available resources may be selected as the target computing node.

[0126] S404: Send the computing task to the target computing node, and the target computing node adds the computing task to the task queue of the target computing node.

[0127] S405: The target computing node schedules and executes each computing task in the task queue according to the priority.

[0128] Optionally, in step S304, the target computing node executes the computing task and returns the execution result to the target management node, which may include:

[0129] Optionally, the target computing node adds the computing task to the task queue of the target computing node. The task queue of each computing node may include a preset number of computing tasks. If the number of computing tasks exceeds the preset number, the computing node does not receive other computing tasks. Exemplarily, the preset number may be, for example, 10, and each computing node may have a maximum of 10 computing tasks.

[0130] Optionally, the target computing node schedules and executes each computing task in the task queue according to the priority of each task in the task queue, and returns the execution result of each computing task.

[0131] Figure 6 A schematic diagram of the scheduling process of tasks to be executed provided in the embodiment of the present application, such as Figure 6 As shown in the figure, the scheduling process of the tasks to be executed includes:

[0132] S501. The target computing node schedules computing tasks in a task queue as tasks to be executed according to priorities.

[0133] S502: The target computing node determines whether the available resources of the computing node match the resource consumption of the task to be executed.

[0134] S503: If there is a match, the target computing node executes the task to be executed; if there is no match, a new task to be executed is rescheduled from the task queue.

[0135] Optionally, if the current available resources of the target computing node can meet the resource loss of the task to be executed, the target computing node starts to execute the task to be executed; if the current available resources of the target computing node does not meet the resource loss of the task to be executed, the target computing node puts the task to be executed back into the task queue, reselects a new computing task as the task to be executed according to the priority, and determines whether the current available resources of the target computing node matches the resource loss of the new task to be executed; if they match, the new task to be executed is executed; if not, the task to be executed is reselected until the current available resources of the target computing node matches the resource loss of the new task to be executed.

[0136] S504: When the target computing node executes the task, it records the task attributes and the system status.

[0137] Optionally, when executing a computing task, the target computing node may record the task attributes in the task queue and update the system status, and may send the task attributes to the target management node to update the cloud computing system status to the computing node pool.

[0138] Optionally, the target computing node schedules and executes each computing task in the task queue according to the priority in the task queue, which may include:

[0139] Optionally, the target computing node determines whether to sleep according to the number of tasks in the task queue or the status information of the distributed system. If sleep is required, the target computing node sleeps for a preset time and re-reads the tasks in the task queue after the sleep ends.

[0140] Figure 7 The target computing node obtains the task status flow diagram provided in the embodiment of the present application, such as Figure 7 As shown, the process of obtaining the task status of the target computing node includes:

[0141] S601. Obtain the task queue of the current target computing node.

[0142] S602: Obtain the attributes of each computing task from the current task queue.

[0143] Optionally, the target computing node may read the task attributes in the task queue, wherein the task attributes may refer to the task identifier. The target computing node may obtain the task queue currently executed by the target computing node, and obtain the attributes of each computing task from the current task queue.

[0144] S603: Obtain the execution status of each task according to the attributes of each computing task.

[0145] The execution status of each task includes successful execution, executing, failed execution, etc.

[0146] S604: Determine whether there are any remaining computing tasks. If so, continue to obtain the attributes of each computing task.

[0147] 605. If not, sleep for a preset time period, and re-acquire the task queue of the current target calculation after the preset time period.

[0148] Optionally, if there are no remaining computing tasks in the current task queue, that is, all computing tasks in the current queue of the target computing node have been executed, the target computing node sleeps for a preset time, and the current queue of the target computing node can be re-acquired after the preset time.

[0149] Exemplarily, the preset duration may be, for example, 20 seconds.

[0150] This embodiment enables the target computing node to track the task execution status by acquiring the execution status.

[0151] Optionally, the target computing node can obtain the status of the current computing node pool system at preset time intervals, where the system status may include the current resource occupancy, CPU occupancy, GPU occupancy, etc. of the system, and send the current status of the system to the computing node pool, and the computing node pool updates the system status.

[0152] Exemplarily, the preset duration may be, for example, 20 seconds.

[0153] Optionally, in step S304, the target computing node executes the computing task and returns the execution result to the target management node, which may include:

[0154] Optionally, the target computing node detects the execution status of the currently executing task according to a preset period.

[0155] In this embodiment, obtaining the system status by presetting the duration can facilitate maintenance of the system status.

[0156] Optionally, the target computing node schedules and executes each computing task in the task queue according to the priority in the task queue, and may further include:

[0157] Optionally, the target computing node detects the execution status of the currently executing task according to a preset period, where each computing task includes a virtual environment required by itself. The target computing node can send a detection command to the virtual environment of the computing task being executed, and the detection command can be used to detect whether the computing task being executed is running normally.

[0158] Exemplarily, the preset duration may be, for example, 20 seconds.

[0159] Figure 8A schematic diagram of a cloud computing task scheduling method provided in an embodiment of the present application is shown in FIG. Figure 8 As shown, the device comprises:

[0160] The determination module 701 is used for each management node in the management node pool to receive the task requirements to be scheduled, and determine the target management node according to the task requirements;

[0161] Determination module 701, used for the target management node to generate a computing task matching the task requirement according to the configuration information and environment information corresponding to the task requirement, determine a target computing node pool from a computing node pool that is communicatively connected to the target management node according to the computing task, and send the computing task to each computing node in the target computing node pool;

[0162] Determination module 701, used for each computing node in the target computing node pool to determine the target computing node according to the computing task;

[0163] The execution module 702 is used for the target computing node to execute the computing task and return the execution result to the target management node.

[0164] Optionally, the determination module 701 is specifically configured to:

[0165] Each management node in the management node pool determines the target management node according to resource occupation information of each management node.

[0166] Optionally, the target management node generates a computing task matching the task requirement according to the configuration information and environment information corresponding to the task requirement, and determines a target computing node pool from a computing node pool that is communicatively connected to the management node according to the computing task, including:

[0167] The target management node loads the configuration information and environment information corresponding to the task requirement into the task requirement to obtain a computing task matching the task requirement;

[0168] The target management node determines the target computing node pool according to the configuration information and environment information in the computing task and the configuration information and environment information of each computing node pool that is in communication connection with the target management node.

[0169] Optionally, the determination module 701 is specifically configured to:

[0170] Each computing node in the target computing node pool determines a target computing node that satisfies the configuration information and environment information of the computing task based on the configuration information and environment information in the computing task and the configuration information and environment information of each computing node.

[0171] Optionally, the execution module 702 is specifically used for:

[0172] The target computing node adds the computing task to a task queue of the target computing node;

[0173] The target computing node schedules and executes each computing task in the task queue according to the priority of each task in the task queue, and returns the execution result of each computing task.

[0174] Optionally, the execution module 702 is specifically used for:

[0175] The target computing node determines whether to sleep according to the number of tasks in the task queue and / or the status information of the computing node pool system;

[0176] If so, the target computing node sleeps for a preset time period, and re-reads the tasks in the task queue after the sleep period ends.

[0177] Optionally, the execution module 702 is specifically used for:

[0178] The target computing node detects the execution status of the currently executing task according to a preset period.

[0179] Fig. 9 A structural block diagram of an electronic device 800 provided in an embodiment of the present application, such as Fig. 9 As shown, the electronic device may include: a processor 801 and a memory 802 .

[0180] Optionally, a bus 803 may also be included, wherein the memory 802 is used to store machine-readable instructions executable by the processor 801 (for example, Figure 8 When the electronic device 800 is running, the processor 801 communicates with the memory 802 through the bus 803, and when the machine-readable instructions are executed by the processor 801, the method steps in the above method embodiment are executed.

[0181] The embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the method steps in the above-mentioned cloud computing task scheduling method embodiment are executed.

[0182] Those skilled in the art can clearly understand that, for the convenience and simplicity of description, the specific working process of the system and device described above can refer to the corresponding process in the method embodiment, and will not be repeated in this application. In the several embodiments provided in this application, it should be understood that the disclosed system, device and method can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the modules is only a logical function division. There may be other division methods in actual implementation. For example, multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.

[0183] In addition, each functional unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, RandomAccess Memory), disk or optical disk and other media that can store program code.

[0184] The above are only specific implementation methods of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be covered by the protection scope of the present application.

Claims

1. A cloud computing task scheduling method, characterized in that: Applied to a distributed node system, the distributed node system includes: a management node pool and multiple computing node pools, the management node pool includes multiple management nodes, each of the management nodes pre-establishes a communication connection with one or more computing node pools; the method includes: Each management node in the management node pool receives the task requirements to be scheduled, and determines the target management node according to the task requirements; The target management node generates a computing task matching the task requirement according to the configuration information and environment information corresponding to the task requirement, determines a target computing node pool from a computing node pool that is communicatively connected to the target management node according to the computing task, and sends the computing task to each computing node in the target computing node pool; Each computing node in the target computing node pool determines a target computing node according to the computing task; The target computing node executes the computing task and returns the execution result to the target management node; Each computing node in the target computing node pool determines a target computing node according to the computing task, including: Each computing node in the target computing node pool determines a target computing node that satisfies the configuration information and environment information of the computing task based on the configuration information and environment information in the computing task and the configuration information and environment information of each computing node.

2. The cloud computing task scheduling method according to claim 1, characterized in that: The determining of the target management node according to the task requirement includes: Each management node in the management node pool determines the target management node according to resource occupation information of each management node.

3. The cloud computing task scheduling method according to claim 1, characterized in that: The target management node generates a computing task matching the task requirement according to the configuration information and environment information corresponding to the task requirement, and determines a target computing node pool from a computing node pool that is communicatively connected to the management node according to the computing task, including: The target management node loads the configuration information and environment information corresponding to the task requirement into the task requirement to obtain a computing task matching the task requirement; The target management node determines the target computing node pool according to the configuration information and environment information in the computing task and the configuration information and environment information of each computing node pool that is in communication connection with the target management node.

4. The cloud computing task scheduling method according to claim 1, characterized in that: The target computing node executes the computing task and returns the execution result to the target management node, including: The target computing node adds the computing task to a task queue of the target computing node; The target computing node schedules and executes each computing task in the task queue according to the priority of each task in the task queue, and returns the execution result of each computing task.

5. The cloud computing task scheduling method according to claim 4, characterized in that: The method further comprises: The target computing node determines whether to sleep according to the number of tasks in the task queue and / or the status information of the computing node pool system; If so, the target computing node sleeps for a preset time period, and re-reads the tasks in the task queue after the sleep period ends.

6. The cloud computing task scheduling method according to claim 4, characterized in that: The method further comprises: The target computing node detects the execution status of the currently executing task according to a preset period.

7. A cloud computing task scheduling device, characterized in that: include: A determination module is used to manage each management node in the node pool to receive the task requirements to be scheduled, and determine the target management node according to the task requirements; A determination module, used for the target management node to generate a computing task matching the task requirement according to the configuration information and environment information corresponding to the task requirement, determine a target computing node pool from a computing node pool that is communicatively connected to the target management node according to the computing task, and send the computing task to each computing node in the target computing node pool; A determination module, used for each computing node in the target computing node pool to determine a target computing node according to the computing task; An execution module, used for the target computing node to execute the computing task and return the execution result to the target management node; The determination module is specifically used for: Each computing node in the target computing node pool determines a target computing node that satisfies the configuration information and environment information of the computing task based on the configuration information and environment information in the computing task and the configuration information and environment information of each computing node.

8. An electronic device, characterized in that: It comprises a memory and a processor, wherein the memory stores a computer program executable by the processor, and when the processor executes the computer program, the steps of the cloud computing task scheduling method described in any one of claims 1 to 6 are implemented.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the cloud computing task scheduling method according to any one of claims 1 to 6 are executed.

Citation Information

Patent Citations

  • Task scheduling method and device, computer equipment and storage medium

    CN109814995A

  • Task scheduling method, device and equipment and storage medium

    CN111930489A

  • Task processing method, device and equipment and storage medium

    CN112148439A

  • Distributed task scheduling system and method

    CN112817706A

  • Deploying an application in a multiple cloud computing environments

    US20170134519A1