Resource scheduling method, system, equipment and medium

By dynamically managing task execution nodes and scheduling resources based on the characteristics of oral cavity 3D model data, the problems of resource waste and high costs in existing technologies are solved, and efficient utilization and refined processing of resources are achieved.

CN121658201APending Publication Date: 2026-03-13SHINING 3D TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-13
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

Existing technologies, when allocating computing resources to process oral 3D model data, cannot refine resource usage based on data characteristics, resulting in resource waste and high usage costs.

Method used

By employing a resource scheduling method, and through managing scheduling service units and task execution nodes, task execution nodes are dynamically managed based on task data characteristics and scheduling strategies, thereby achieving refined scheduling of task data and resource optimization.

Benefits of technology

It reduces server resource consumption, saves computing costs, avoids single-unit failures, simplifies deployment complexity, and improves the precision of the processing and equipment performance requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121658201A_ABST
    Figure CN121658201A_ABST
Patent Text Reader

Abstract

The invention discloses a resource scheduling method, system and device and a medium. The method comprises the steps that a management scheduling service unit obtains a task request message which is pushed by a cloud platform and is created based on a business end original model file; the task input module generates corresponding task information based on the task request message and determines a task priority based on a task type of each task included in the task information, and the task priority and the task information are written into a preset storage area; the task scheduling module takes out corresponding task data from a preset storage area in batches according to task priorities to obtain to-be-processed task data, and schedules the to-be-processed task data to corresponding task execution nodes based on task data characteristics and a task scheduling strategy; and the corresponding task execution node executes the corresponding task. According to the method, the resource consumption of a server can be reduced, and a complete large model processing process can be split into fine-grained processing tasks, so that the refinement degree of the processing process is improved, and the performance requirement on equipment is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data processing technology, and in particular to resource scheduling methods, systems, devices and media. Background Technology

[0002] Oral cavity 3D model data not only comes in various formats but also has numerous data characteristics, including the number of meshes, faces, intersections, normals, and vectors; some even include tooth texture data. Therefore, when rendering scenarios using digital oral impression 3D data, server resources need to be allocated based on these data characteristics, intermediate processing requirements, and the target result.

[0003] There are several existing solutions for resource scheduling. The first is to use a monolithic architecture for resource scheduling, but this solution has several drawbacks. These include: poor scalability, making expansion difficult as the number of users and business grows; high coupling between service algorithm code and engineering code, making maintenance difficult; susceptibility to monolithic failures, leading to service unavailability; and inability to refine resource usage based on the characteristics of the oral 3D model data and application scenarios in the dental field, resulting in high resource usage costs. The second solution uses existing scheduling methods in Kubernetes container deployment and management platforms to schedule server resources to process oral digital impression 3D data. While this improves scalability and maintenance compared to a monolithic architecture, it still cannot refine resource usage based on the characteristics of the oral 3D model data and application scenarios in the dental field, resulting in high resource usage costs. The third solution uses 3D software for format conversion. However, this solution cannot obtain data characteristics such as the mesh and number of faces of the oral 3D model before conversion, which leads to an inability to estimate the specific time consumption during the conversion process, thus preventing large-scale scheduling and increasing resource waste.

[0004] Therefore, no effective solution has yet been proposed to address the problem in existing technologies where the use of computing resources for processing oral 3D model data cannot be refined based on the oral 3D model data, resulting in resource waste and high usage costs. Summary of the Invention

[0005] This invention provides a resource scheduling method, system, device, and medium, aiming to solve the problems in existing methods where scheduling computing resources to process oral cavity 3D model data fails to refine resource usage based on the oral cavity 3D model data, resulting in resource waste and high usage costs.

[0006] In a first aspect, embodiments of the present invention provide a resource scheduling method applied to a resource scheduling system, the system comprising a management scheduling service unit and task execution nodes, wherein the management scheduling service unit comprises a task input module and a task scheduling module; the method comprises:

[0007] The management and scheduling service unit obtains the task request message pushed by the cloud platform, which is created based on the original model file of the business side;

[0008] The task input module in the management and scheduling service unit generates corresponding task information based on the task request message, and determines the task priority based on the task type of each task included in the task information, wherein the task priority and task information are written into a preset storage area.

[0009] The task scheduling module retrieves corresponding task data in batches from the preset storage area according to the task priority, obtains task data to be processed, and schedules the task data to be processed to the corresponding task execution node based on the task data characteristics and task scheduling strategy.

[0010] The corresponding task execution node executes the corresponding task.

[0011] In one embodiment, before scheduling the task data to be processed to the corresponding task execution node based on task data characteristics and task scheduling strategy, the method further includes:

[0012] The gateway of the task scheduling module registers the relevant information of the task execution node to the corresponding task scheduling module based on the node registration strategy, and stores the registered task execution node in a preset task execution node storage queue.

[0013] In one embodiment, scheduling the task data to be processed to the corresponding task execution node based on task data characteristics and task scheduling strategy includes:

[0014] Retrieve data on currently pending tasks and clean up task execution nodes that have failed or stopped running;

[0015] The task scheduling module calculates the number of task execution nodes that need to be scheduled and started based on the data characteristics of the current task data to be processed, and performs idle task execution node detection on the task execution node storage queue based on the node detection strategy to obtain the detection result;

[0016] When the detection result indicates that there are idle task execution nodes in the task execution node storage queue, and the number of idle task execution nodes in the task execution node storage queue is greater than or equal to the calculated number of task execution nodes that need to be scheduled and started, the task scheduling module obtains the idle task execution nodes corresponding to the number of task execution nodes that need to be scheduled and started from the task execution node storage queue.

[0017] The currently pending task data is scheduled to the corresponding idle task execution node to execute the corresponding task.

[0018] In one embodiment, after performing idle task execution node detection on the task execution node storage queue based on the node detection strategy and obtaining the detection result, the method includes:

[0019] When the detection result indicates that there are no idle task execution nodes in the task execution node storage queue, or the number of idle task execution nodes in the task execution node storage queue is less than the calculated number of task execution nodes that need to be scheduled and started, the number of task execution nodes to be expanded is calculated based on the current task data to be processed and the number of task execution nodes in different states in the task execution node storage queue through the node expansion strategy.

[0020] Based on the current number of expanded task execution nodes, create task execution nodes for executing tasks.

[0021] In one embodiment, the step of calculating the current number of task execution nodes to be expanded based on the current task data to be processed and the number of task execution nodes in different states in the task execution node storage queue, through a node expansion strategy, includes:

[0022] Obtain the configuration information of the task execution node storage queue and the number of task execution nodes in different states in the task execution node storage queue, wherein the configuration information includes the maximum number of surviving nodes and the minimum number of surviving nodes, and the number of task execution nodes in different states in the task execution node storage queue includes the number of nodes starting up and the number of online nodes;

[0023] Based on the maximum number of surviving nodes, the number of nodes in startup, and the number of online nodes, the current maximum number of nodes allowed to be created is calculated.

[0024] Based on the minimum number of surviving nodes, the current task data to be processed, the number of nodes in startup, and the number of online nodes, the estimated number of expansion nodes is calculated.

[0025] Based on the current maximum allowed number of nodes to be created and the estimated number of nodes to be expanded, the current actual number of nodes to be expanded is calculated.

[0026] In one embodiment, before scheduling the task data to be processed to the corresponding task execution node based on task data characteristics and task scheduling strategy, the method further includes:

[0027] The task scheduling module cleans up task execution nodes that have failed or stopped running, and performs node expansion detection every preset time range to obtain the detection results;

[0028] When the task scheduling module determines that the detection result indicates that a task execution node needs to be created, the task scheduling module calculates and obtains the number of task execution nodes that need to be expanded based on the node expansion strategy and the number of tasks to be processed.

[0029] The task scheduling module creates task execution nodes for executing tasks based on the current number of task execution nodes that need to be expanded.

[0030] In one embodiment, after the corresponding task is executed at the corresponding task execution node, the method includes:

[0031] The task scheduling module puts the task execution nodes that have completed their tasks back into the task execution node storage queue and records the task completion time of the task execution nodes that have completed their tasks.

[0032] The task scheduling module cleans up task execution nodes that have failed or stopped running, and performs node scaling down detection every preset time range to obtain the detection results;

[0033] When the task scheduling module determines that the time interval between the task completion time of the task execution node that has completed the task and the current time exceeds a preset time threshold, the task scheduling module will perform a scaling-down process on the task execution node that has completed the task.

[0034] When the task scheduling module determines that the time interval between the task completion time of the task execution node that has completed the task and the current time does not exceed a preset time threshold, the task execution node that has completed the task continues to wait for the next scheduling.

[0035] Secondly, embodiments of the present invention provide a resource scheduling system, the system including a management scheduling service unit and a task execution node, wherein the management scheduling service unit includes a task input module and a task scheduling module;

[0036] The management and scheduling service unit is used to obtain task request messages pushed by the cloud platform based on the original model file of the business side.

[0037] The task input module in the management and scheduling service unit is used to generate corresponding task information based on the task request message, and determine the task priority based on the task type of each task included in the task information, wherein the task priority and task information are written into a preset storage area.

[0038] The task scheduling module is also used to retrieve corresponding task data in batches from the preset storage area according to the task priority, obtain task data to be processed, and schedule the task data to be processed to the corresponding task execution node based on the task data characteristics and task scheduling strategy.

[0039] The corresponding task execution node is used to execute the corresponding task.

[0040] Thirdly, embodiments of the present invention provide a computer device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the method described in the first aspect.

[0041] Fourthly, embodiments of the present invention also provide a computer-readable storage medium storing a computer program that, when executed by a processor, causes the processor to perform the method described in the first aspect.

[0042] This invention provides a resource scheduling method applied to a resource scheduling system. The system includes a management scheduling service unit and task execution nodes. The management scheduling service unit includes a task input module and a task scheduling module. The method includes: the management scheduling service unit obtaining a task request message created based on the original model file of the business end, pushed by the cloud platform; the task input module in the management scheduling service unit generating corresponding task information based on the task request message, and determining the task priority based on the task type of each task included in the task information, wherein the task priority and task information are written to a preset storage area; the task scheduling module retrieving corresponding task data in batches from the preset storage area according to the task priority, obtaining task data to be processed, and scheduling the task data to be processed to the corresponding task execution node based on the task data characteristics and task scheduling strategy; the corresponding task execution node executing the corresponding task.

[0043] The above method achieves the goal of dynamically managing task execution nodes based on task data to execute corresponding tasks. Specifically, it calculates and schedules resources based on the characteristics of task data in the oral healthcare industry, dynamically scaling up and down task execution nodes to minimize server resource consumption and save computational costs. Furthermore, this method employs a single task execution node approach, scheduling different tasks to corresponding independent task execution nodes for execution. This not only avoids single-node failures, reduces project code coupling, and simplifies deployment complexity, but also breaks down the complete large-scale model processing into finer-grained processing tasks, thereby improving the precision of the processing and reducing the performance requirements of the equipment. Attached Figure Description

[0044] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the following description of the embodiments will be briefly introduced. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0045] Figure 1 This is a schematic block diagram of a resource scheduling system provided in an embodiment of the present invention;

[0046] Figure 2 A flowchart illustrating the resource scheduling method provided in an embodiment of the present invention;

[0047] Figure 3 A schematic diagram of a sub-process of the resource scheduling method provided in an embodiment of the present invention;

[0048] Figure 4 This is a schematic diagram of another sub-process of the resource scheduling method provided in the embodiments of the present invention;

[0049] Figure 5 A schematic block diagram of a computer device provided for an embodiment of the present invention. Detailed Implementation

[0050] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0051] It should be understood that, when used in this specification and the appended claims, the terms "comprising" and "including" indicate the presence of the described features, integrals, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or collections thereof.

[0052] It should also be understood that the terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to limit the invention. As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise.

[0053] It should also be further understood that the term "and / or" as used in this specification and the appended claims refers to any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0054] This invention provides a resource scheduling system. Figure 1 This is a schematic block diagram of a resource scheduling system provided in an embodiment of the present invention. Figure 1 As shown, the resource scheduling system 100 includes a management and scheduling service unit 110 (dispatcher) and task execution nodes 120 (workers). The management and scheduling service unit 110 includes a task input module 111 (input module) and a task scheduling module 112 (workerPool). It should be noted that the dispatcher, i.e., the management and scheduling service unit 110, is mainly used to manage the creation and destruction of task execution nodes 120; the worker, i.e., the task execution nodes 120, is mainly used to execute various algorithm conversion tasks; the input module, i.e., the task input module 111, is mainly responsible for consuming algorithm conversion tasks submitted by business parties from the message queue (MQ); the workerPool, i.e., the task scheduling module 112, is mainly used to receive tasks collected by the task input module 111, create and destroy task execution nodes 120 according to a specified strategy, and schedule tasks to designated task execution nodes according to certain rules. Furthermore, it should be noted that the task execution nodes 120 can be distributed across dental computers, cloud platforms, or other idle computers / iPads connected to the dental scanner.

[0055] Specifically, the management and scheduling service unit 110 is used to obtain task request messages pushed by the cloud platform based on the original model file of the business side.

[0056] In this embodiment, the business end creates a business order and uploads the original model file on the cloud platform. After receiving the business order, the cloud platform creates corresponding task request messages for each algorithm operator in the original model file and pushes the task request messages to the management and scheduling service unit 110 through a preset message sending strategy. After the management and scheduling service unit 110 is started, the task input module 111 will receive the pushed task request messages.

[0057] For example, when the dental scanning software creates a business order on the cloud platform, it uploads the original scanned model file. After receiving the order, the cloud platform creates corresponding algorithm conversion task request messages for each algorithm operator in the original model file and pushes the task request messages to the management and scheduling service unit 110 via an MQ message queue (Message Queue) or a database. After the management and scheduling service unit 110 starts, the task input module 111 receives the task request messages pushed by the MQ message queue or the database.

[0058] The task input module 111 in the management and scheduling service unit 110 is used to generate corresponding task information based on the task request message, and determine the task priority based on the task type of each task included in the task information. The task priority and task information are written to a preset storage area.

[0059] In this embodiment, after receiving the task request message through the above steps, the task input module 111 generates corresponding task information based on the task request message. Then, the task input module 111 reads the task information and determines the task priority based on the task type of each task included in the task information. The task priority and task information are written into a preset storage area, and the status of each task included in the task information is set to pending execution.

[0060] The task scheduling module 112 is used to retrieve corresponding task data in batches from the preset storage area according to task priority, obtain task data to be processed, and schedule the task data to be processed to the corresponding task execution node 120 based on task data characteristics and task scheduling strategy.

[0061] In this embodiment, the task scheduling module 112 initiates multiple coroutines to extract corresponding task data in batches from a preset storage area, such as a database table, according to task priority, to obtain task data to be processed, and updates the status of the extracted task data to the execution status. Then, based on the characteristics of the task data and the task scheduling strategy, the task data to be processed is scheduled to the corresponding task execution node 120 to execute the corresponding task. For example, tooth separation task data in the oral cavity 3D model data is extracted from the database table, and then the tooth separation task data is scheduled to the corresponding task execution node 120 according to the scheduling strategy. The task execution node 120 calls its internal tooth separation operator to process the tooth separation task data and obtain the tooth separation result.

[0062] In one embodiment, before scheduling the task data to be processed to the corresponding task execution node 120 based on task data characteristics and task scheduling strategy, the gateway of the task scheduling module 112 registers the relevant information of the task execution node to the corresponding task scheduling module 112 based on the node registration strategy, and stores the registered task execution node 120 in a preset task execution node storage queue. Specifically, after the task execution node 120 establishes a link with the gateway corresponding to the task scheduling module 112, it requests to obtain gateway information, and then registers the relevant information of the task execution node 120 to the corresponding task scheduling module 112 based on the gateway information. At this time, it is determined whether the task execution node 120 currently registered to the task scheduling module 112 is in the online task execution node storage queue. If not, the task execution node 120 currently registered to the task scheduling module 112 is placed in the online task execution node storage queue, and at the same time, the task execution node 120 currently registered to the task scheduling module 112 is placed in the task execution node storage queue used to store idle task execution nodes.

[0063] In one embodiment, the task data to be processed is scheduled to the corresponding task execution node based on the characteristics of the task data and the task scheduling strategy, specifically including the following.

[0064] Retrieve data on currently pending tasks and clean up task execution nodes that have failed or stopped running.

[0065] The task scheduling module calculates the number of task execution nodes that need to be scheduled based on the data characteristics of the currently pending task data, and performs idle task execution node detection on the task execution node storage queue based on a node detection strategy to obtain the detection results. Specifically, the task scheduling module calculates the number of task execution nodes that need to be scheduled based on the data characteristics of the currently pending task data, such as the number of points and faces in the task data, and at the same time, performs idle task execution node detection on the task execution node storage queue based on a node detection strategy to obtain the detection results.

[0066] When the detection result indicates that there are idle task execution nodes in the task execution node storage queue, and the number of idle task execution nodes in the task execution node storage queue is greater than or equal to the calculated number of task execution nodes that need to be scheduled and started, the task scheduling module 112 retrieves the idle task execution nodes corresponding to the number of task execution nodes that need to be scheduled and started from the task execution node storage queue.

[0067] Finally, the currently pending task data is scheduled to the corresponding idle task execution node to execute the corresponding task.

[0068] Specifically, when the detection result indicates that there are idle task execution nodes in the task execution node storage queue, and the number of idle task execution nodes in the queue is greater than or equal to the calculated number of task execution nodes that need to be scheduled and started, the task scheduling module 112 will block and wait for the idle task execution nodes in the task execution node storage queue to become ready. Then, it will retrieve the idle task execution node corresponding to the number of task execution nodes that need to be scheduled and started from the task execution node storage queue, and schedule the currently pending task data to the corresponding idle task execution node to execute the corresponding task. The specific invocation method is to call the API service provided by the task execution node 120 through the transmission control protocol.

[0069] Preferably, when the number of idle task execution nodes in the task execution node storage queue is greater than the calculated number of task execution nodes that need to be scheduled and started, the task scheduling module 112 can reduce the number of excess idle task execution nodes 120 to release idle resources.

[0070] In one embodiment, after detecting idle task execution nodes in the task execution node storage queue based on the node detection strategy and obtaining the detection result, if the detection result is that there are no idle task execution nodes in the task execution node storage queue, or the number of idle task execution nodes in the task execution node storage queue is less than the calculated number of task execution nodes that need to be scheduled and started, the number of task execution nodes to be expanded is calculated based on the current task data to be processed and the number of task execution nodes in different states in the task execution node storage queue, through the node expansion strategy; finally, task execution nodes 120 for executing tasks are created based on the number of task execution nodes to be expanded.

[0071] Preferably, based on the current task data to be processed and the number of task execution nodes in different states in the task execution node storage queue, the number of task execution nodes to be expanded is calculated through a node expansion strategy, including: acquiring a node creation (worker) lock, acquiring the configuration information of the task execution node storage queue and the number of task execution nodes in different states in the task execution node storage queue, wherein the configuration information includes the maximum number of surviving nodes (workers) and the minimum number of surviving nodes (workers), and the number of task execution nodes in different states in the task execution node storage queue includes the number of nodes (workers) starting up and the number of nodes (workers) online.

[0072] Then, based on the maximum number of surviving nodes, the number of nodes in startup, and the number of online nodes, the current maximum number of nodes allowed to be created is calculated; the specific calculation formula is shown in equation (1) below:

[0073] The maximum number of nodes currently allowed to be created = the maximum number of live nodes - the number of nodes starting up - the number of online nodes (1)

[0074] Next, based on the minimum number of surviving nodes, the current task data to be processed, the number of nodes in startup, and the number of online nodes, the estimated number of nodes to be expanded is calculated; the specific calculation formula is shown in the following formula (2):

[0075] Estimated number of nodes to be expanded = Minimum number of survivable nodes configured + Number of queued tasks * Expansion coefficient - (Number of nodes starting up + Number of online nodes) (2)

[0076] Finally, based on the current maximum allowed number of nodes to be created and the estimated number of nodes to be expanded, the actual number of nodes to be expanded is calculated; the specific calculation formula is shown in the following formula (3):

[0077] Current actual number of nodes to be expanded = min(current maximum allowed number of nodes to be created, estimated number of nodes to be expanded) (3)

[0078] It should be noted that the expansion factor can be dynamically adjusted according to the actual situation. In this embodiment, it is set to 0.1 by default.

[0079] After determining the actual number of nodes that need to be expanded as described above, call podDriver to create the corresponding node to run the container (pod), and release the node creation (worker) lock after completion.

[0080] In one embodiment, before scheduling the task data to be processed to the corresponding task execution node 120 based on the task data characteristics and task scheduling strategy, in addition to the node expansion method described above, a periodic polling method can also be used for expansion checks. Specifically, this includes: the task scheduling module 112 cleans up task execution nodes that have failed to run or have stopped running, and performs a node expansion check every preset time range to obtain the check result; when the check result determines that a task execution node needs to be created, the task scheduling module 112 calculates and obtains the number of task execution nodes that need to be expanded based on the node expansion strategy and the number of tasks to be processed; the task scheduling module 112 creates a task execution node 120 for executing tasks based on the number of task execution nodes that need to be expanded.

[0081] Compared to the fixed expansion method used in the prior art, which is to multiply nodes according to a fixed amount of resources, the embodiments of the present invention can calculate scheduling resources based on the task data characteristics and task load of different tasks. This allows for more flexible dynamic expansion and contraction of task execution nodes based on the calculated scheduling resources, thereby improving the utilization rate of scheduling resources.

[0082] The corresponding task execution node 120 is used to execute the corresponding task.

[0083] In this embodiment, the corresponding task execution node 120 executes the corresponding task.

[0084] For example, assuming the processing of oral cavity 3D model data is required, the oral cavity 3D model data is first downloaded. Then, through the task execution node 120 corresponding to different algorithm tasks, various integrated transformation algorithm operators are called sequentially or in parallel. That is, the operators in the task execution node 120 are customized. These transformation algorithm operators are used to transform and process the oral cavity 3D model data, thereby completing the different algorithm transformation tasks in the process of processing oral cavity 3D model data. For example, calling the tooth segmentation operator to obtain the tooth segmentation result, and then calling the disease recognition operator to judge the disease of the teeth based on the tooth segmentation result; texture compression, such as compressing tooth textures, model coordinate transformation, texture to point color conversion, or for large texture maps, shrinking them to the size suitable for user devices, generating rendering maps, texture unwrapping, simplifying models, converting to obj / ply / gltf models, etc., model compression, etc.

[0085] This embodiment breaks down the complete large model processing process into finer-grained processing tasks, and integrates and networks these tasks, improving the precision of the processing and reducing the performance requirements of the equipment. This is particularly suitable for applications in the dental field.

[0086] Furthermore, in this embodiment, the algorithm model or texture map is simplified or compressed when processing tasks through the task execution node, improving processing efficiency. Additionally, the algorithm code and scheduling engineering code are separated in the task execution node, facilitating maintenance; deployment and updates are also faster and more convenient, requiring only an update to the algorithm service image.

[0087] In one embodiment, the processed file is uploaded and the task processing result message is pushed to the MQ message queue, and then returned to the business calling end through the MQ message queue.

[0088] In one embodiment, after the corresponding task is executed at the corresponding task execution node 120, the following steps are also included.

[0089] The task scheduling module 112 puts the task execution node 120 that has completed the task back into the task execution node storage queue and records the task completion time of the task execution node 120 that has completed the task.

[0090] The task scheduling module 112 cleans up task execution nodes that have failed or stopped running, and performs a node scaling-down test every preset time range to obtain the test results. Before the scaling-down test, the task scheduling module 112 cleans up task execution nodes that have failed or stopped running to release the corresponding task execution nodes. During the scaling-down test, it acquires a worker deletion lock, and releases the worker deletion lock after completion.

[0091] When the task scheduling module 112 determines that the time interval between the task completion time of the task execution node 120 that has completed the task exceeds the preset time threshold, it will perform a scaling-down process on the task execution node 120 that has completed the task.

[0092] When the task scheduling module 112 determines that the time interval between the task completion time of the task execution node 120 whose detection result indicates that the task has been completed and the current time does not exceed a preset time threshold, the task execution node 120 whose task has been completed continues to wait for the next scheduling.

[0093] In this embodiment, the task scheduling module periodically performs scaling-down checks, which can release idle resources in a timely manner and improve the utilization rate of scheduling resources.

[0094] In one embodiment, the management and scheduling service unit 110 further includes a monitoring module (metrics) for monitoring data indicators such as task execution status and resource usage. Task execution status includes pending tasks and whether tasks have failed.

[0095] In the resource scheduling system provided in this embodiment of the invention, the system includes a management scheduling service unit 110 and a task execution node 120. The management scheduling service unit includes a task input module 111 and a task scheduling module 112. The method includes: the management scheduling service unit 110 obtaining a task request message created based on the original model file of the business terminal and pushed by the cloud platform; the task input module 111 in the management scheduling service unit 110 generating corresponding task information based on the task request message, and determining the task priority based on the task type of each task included in the task information, wherein the task priority is written to a preset storage area; the task scheduling module 112 retrieving corresponding task data in batches from the preset storage area according to the task priority, obtaining task data to be processed, and scheduling the task data to be processed to the corresponding task execution node 120 based on the task scheduling strategy; the corresponding task execution node 120 executing the corresponding task. The above method achieves the purpose of dynamically managing task execution nodes to execute corresponding tasks based on task data. Specifically, by calculating scheduling resources based on the characteristics of task data in the oral healthcare industry, and dynamically expanding and shrinking task execution nodes, server resource consumption is minimized, and computational costs are saved. On the other hand, given the characteristics of the dental healthcare industry—high business volume during the day and lower activity at night—this invention can also achieve the goal of allocating more resources during busy periods and conserving resources during off-peak periods. Furthermore, this method employs a single task execution node approach, scheduling different tasks to corresponding independent task execution nodes for execution. This not only avoids single-unit failures and reduces project code coupling, simplifying deployment complexity, but also ensures high reliability; a crash in the algorithm task conversion program within a node only affects that single task execution node. It can also break down the complete large model processing process into finer-grained processing tasks, thereby improving the precision of the processing and reducing the performance requirements of the equipment. With finer-grained control over model conversion effects, there is always a model suitable for the current equipment's performance, regardless of the device being used.

[0096] This invention also provides a resource scheduling method applied to the aforementioned resource scheduling system. Figure 2 This is a flowchart illustrating the resource scheduling method provided in an embodiment of the present invention, as shown below. Figure 2 As shown, the method includes steps S210 to S240.

[0097] S210, The management and scheduling service unit obtains the task request message pushed by the cloud platform based on the original model file of the business side.

[0098] In this embodiment, the business unit creates a business order and uploads the original model file on the cloud platform. After receiving the business order, the cloud platform creates corresponding task request messages for each algorithm operator in the original model file and pushes the task request messages to the management and scheduling service unit according to a preset message sending strategy. After the management and scheduling service unit starts, the task input module will receive the pushed task request messages.

[0099] For example, when the dental scanning software creates a business order on the cloud platform, it uploads the original scanned model file. After receiving the order, the cloud platform creates corresponding algorithm conversion task request messages for each algorithm operator in the original model file and pushes these task request messages to the management and scheduling service unit via an MQ message queue or database. After the management and scheduling service unit starts, the task input module receives the task request messages pushed by the MQ message queue or database.

[0100] S220, the task input module in the management and scheduling service unit generates corresponding task information based on the task request message, and determines the task priority based on the task type of each task included in the task information. The task priority and task information are written to a preset storage area.

[0101] In this embodiment, after receiving the task request message through the above steps, the task input module generates corresponding task information based on the task request message. Then, the task input module reads the task message and determines the task priority based on the task type of each task included in the task information. The task priority and task information are written into a preset storage area, and the status of each task included in the task information is set to pending execution.

[0102] S230. The task scheduling module retrieves the corresponding task data in batches from the preset storage area according to the task priority, obtains the task data to be processed, and schedules the task data to be processed to the corresponding task execution node based on the characteristics of the task data and the task scheduling strategy.

[0103] In this embodiment, the task scheduling module initiates multiple coroutines to extract corresponding task data in batches from a preset storage area, such as a database table, according to task priority, to obtain task data to be processed, and updates the status of the retrieved task data to the execution status. Then, based on the characteristics of the task data and the task scheduling strategy, the task data to be processed is scheduled to the corresponding task execution node to execute the corresponding task. For example, tooth separation task data in the oral cavity 3D model data is extracted from the database table, and then the tooth separation task data is scheduled to the corresponding task execution node 120 according to the scheduling strategy. Task execution node 120 calls its internal tooth separation operator to process the tooth separation task data and obtain the tooth separation result.

[0104] In one embodiment, before scheduling the task data to be processed to the corresponding task execution node based on task data characteristics and task scheduling strategy, the gateway of the task scheduling module registers the relevant information of the task execution node with the corresponding task scheduling module based on the node registration strategy, and stores the registered task execution node in a preset task execution node storage queue. Specifically, after the task execution node establishes a link with the gateway corresponding to the task scheduling module, it requests to obtain gateway information, and then registers the relevant information of the task execution node with the corresponding task scheduling module based on the gateway information. At this time, it is determined whether the task execution node currently registered with the task scheduling module is in the online task execution node storage queue. If not, the task execution node currently registered with the task scheduling module is placed in the online task execution node storage queue, and simultaneously, the task execution node currently registered with the task scheduling module is placed in the task execution node storage queue used to store idle task execution nodes.

[0105] In one embodiment, such as Figure 3 As shown, scheduling the task data to be processed to the corresponding task execution node based on the task data characteristics and task scheduling strategy includes sub-steps S231, S232, S233 and S234.

[0106] S231. Obtain the data of the tasks currently pending and clean up the task execution nodes that have failed or stopped running.

[0107] S232. The task scheduling module calculates the number of task execution nodes that need to be scheduled and started based on the data characteristics of the task data to be processed, and performs idle task execution node detection on the task execution node storage queue based on the node detection strategy to obtain the detection results.

[0108] Specifically, the task scheduling module calculates the number of task execution nodes that need to be scheduled and started based on the data characteristics of the task data to be processed, such as the number of points and faces of the task data. At the same time, it performs idle task execution node detection on the task execution node storage queue based on the node detection strategy and obtains the detection results.

[0109] S233. When the detection result shows that there are idle task execution nodes in the task execution node storage queue, and the number of idle task execution nodes in the task execution node storage queue is greater than or equal to the calculated number of task execution nodes that need to be scheduled and started, the task scheduling module obtains the idle task execution nodes corresponding to the number of task execution nodes that need to be scheduled and started from the task execution node storage queue.

[0110] S234. Schedule the currently pending task data to the corresponding idle task execution node to execute the corresponding task.

[0111] Specifically, when the detection result indicates that there are idle task execution nodes in the task execution node storage queue, and the number of idle task execution nodes in the queue is greater than or equal to the calculated number of task execution nodes that need to be scheduled and started, the task scheduling module will block and wait for the idle task execution nodes in the queue to become ready. Then, it will retrieve the idle task execution node corresponding to the number of task execution nodes that need to be scheduled and started from the queue, and schedule the currently pending task data to the corresponding idle task execution node to execute the corresponding task. The specific invocation method is through the Transmission Control Protocol (TCP) to call the API service provided by the task execution node.

[0112] Preferably, when the number of idle task execution nodes in the task execution node storage queue is greater than the calculated number of task execution nodes that need to be scheduled and started, the task scheduling module can reduce the number of excess idle task execution nodes to release idle resources.

[0113] In one embodiment, after detecting idle task execution nodes in the task execution node storage queue based on the node detection strategy and obtaining the detection result, if the detection result is that there are no idle task execution nodes in the task execution node storage queue, or the number of idle task execution nodes in the task execution node storage queue is less than the calculated number of task execution nodes that need to be scheduled and started, the number of task execution nodes to be expanded is calculated based on the current task data to be processed and the number of task execution nodes in different states in the task execution node storage queue, using a node expansion strategy; finally, task execution nodes for executing tasks are created based on the number of task execution nodes to be expanded.

[0114] Preferably, based on the current task data to be processed and the number of task execution nodes in different states in the task execution node storage queue, the number of task execution nodes to be expanded is calculated through a node expansion strategy, including: acquiring a node creation (worker) lock, acquiring the configuration information of the task execution node storage queue and the number of task execution nodes in different states in the task execution node storage queue, wherein the configuration information includes the maximum number of surviving nodes (workers) and the minimum number of surviving nodes (workers), and the number of task execution nodes in different states in the task execution node storage queue includes the number of nodes (workers) starting up and the number of nodes (workers) online.

[0115] Then, based on the maximum number of surviving nodes, the number of nodes in startup, and the number of online nodes, the current maximum number of nodes allowed to be created is calculated; the specific calculation formula is shown in formula (1) above.

[0116] Next, based on the minimum number of surviving nodes, the current task data to be processed, the number of nodes in startup and the number of online nodes, the estimated number of expansion nodes is calculated; the specific calculation formula is shown in formula (2) above.

[0117] Finally, based on the current maximum number of nodes allowed to be created and the estimated number of nodes to be expanded, the actual number of nodes to be expanded is calculated; the specific calculation formula is shown in formula (3) above; it should be noted that the expansion coefficient can be dynamically adjusted according to the actual situation, and in this embodiment it is set to 0.1 by default.

[0118] After determining the actual number of nodes that need to be expanded as described above, call podDriver to create the corresponding node to run the container (pod), and release the node creation (worker) lock after completion.

[0119] In one embodiment, before scheduling the task data to be processed to the corresponding task execution node based on the task data characteristics and task scheduling strategy, in addition to the node expansion method described above, a periodic polling method can also be used for expansion checks. Specifically, this includes: the task scheduling module cleans up task execution nodes that have failed to run or have stopped running, and performs a node expansion check every preset time range to obtain the check results; when the task scheduling module determines that the check result indicates that a task execution node needs to be created, the task scheduling module calculates the number of task execution nodes that need to be expanded based on the node expansion strategy and the number of tasks to be processed; and the task scheduling module creates task execution nodes for executing tasks based on the number of task execution nodes that need to be expanded.

[0120] Compared to the fixed expansion method used in the prior art, which is to multiply nodes according to a fixed amount of resources, the embodiments of the present invention can calculate scheduling resources based on the task data characteristics and task load of different tasks. This allows for more flexible dynamic expansion and contraction of task execution nodes based on the calculated scheduling resources, thereby improving the utilization rate of scheduling resources.

[0121] S240, the corresponding task execution node executes the corresponding task.

[0122] In this embodiment, the corresponding task execution node executes the corresponding task.

[0123] For example, assuming we need to process 3D oral cavity model data, we first download the 3D oral cavity model data. Then, through the task execution nodes corresponding to different algorithm tasks, we sequentially or in parallel call various integrated transformation algorithm operators. That is, we personalize the operators in the task execution nodes. These transformation algorithm operators are used to transform and process the 3D oral cavity model data, thereby completing the different algorithm transformation tasks in the process of processing the 3D oral cavity model data. For example, we call the tooth segmentation operator to obtain the tooth segmentation result, and then call the disease recognition operator to judge the disease of the teeth based on the tooth segmentation result; texture compression, such as compressing tooth textures, model coordinate transformation, texture to point color conversion, or for large texture images, shrinking them to the size suitable for the user's device, generating a rendering image, texture unwrapping, simplifying the model, converting to obj / ply / gltf models, etc., model compression, etc.

[0124] This embodiment breaks down the complete large model processing process into finer-grained processing tasks, and integrates and networks these tasks, improving the precision of the processing and reducing the performance requirements of the equipment. This is particularly suitable for applications in the dental field.

[0125] Furthermore, in this embodiment, the algorithm model or texture map is simplified or compressed when processing tasks through the task execution node, improving processing efficiency. Additionally, the algorithm code and scheduling engineering code are separated in the task execution node, facilitating maintenance; deployment and updates are also faster and more convenient, requiring only an update to the algorithm service image.

[0126] In one embodiment, the processed file is uploaded and the task processing result message is pushed to the MQ message queue, and then returned to the business calling end through the MQ message queue.

[0127] In one embodiment, such as Figure 4 As shown, after the corresponding task is executed at the corresponding task execution node, step S240 also includes sub-steps S241-S244.

[0128] S241. The task scheduling module puts the task execution nodes that have completed tasks back into the task execution node storage queue and records the task completion time of the task execution nodes that have completed tasks.

[0129] S242. The task scheduling module cleans up task execution nodes that have failed or stopped running, and performs a node scaling-down test every preset time range to obtain the test results.

[0130] Before scaling down, the task scheduling module cleans up task execution nodes that have failed or stopped running to release the corresponding task execution nodes. During scaling down, the module acquires a worker deletion lock and releases it upon completion.

[0131] S243. When the task scheduling module determines that the time interval between the task completion time of a task execution node whose detection result indicates that the task has been completed and the current time exceeds a preset time threshold, the task execution node whose task has been completed will be scaled down.

[0132] S244. When the task scheduling module determines that the time interval between the task completion time of a task execution node whose detection result indicates that the task has been completed and the current time does not exceed a preset time threshold, the task execution node whose task has been completed continues to wait for the next scheduling.

[0133] In this embodiment, the task scheduling module periodically performs scaling-down checks, which can release idle resources in a timely manner and improve the utilization rate of scheduling resources.

[0134] In one embodiment, when executing a task through a task execution node, data indicators such as task execution status and resource usage are also monitored. Task execution status includes pending tasks and whether a task has failed.

[0135] In the resource scheduling method provided in this embodiment of the invention, the management scheduling service unit obtains a task request message created based on the original model file of the business end, pushed by the cloud platform; the task input module in the management scheduling service unit generates corresponding task information based on the task request message, and determines the task priority based on the task type of each task included in the task information, wherein the task priority and task information are written into a preset storage area; the task scheduling module retrieves the corresponding task data in batches from the preset storage area according to the task priority, obtains the task data to be processed, and schedules the task data to be processed to the corresponding task execution node based on the task scheduling strategy; the corresponding task execution node executes the corresponding task. The above method achieves the goal of dynamically managing task execution nodes to execute corresponding tasks based on task data. Specifically, by calculating and scheduling resources based on the characteristics of task data in the oral healthcare industry, and dynamically expanding and shrinking task execution nodes, server resource consumption is minimized, and computational costs are saved. Furthermore, based on the characteristic of the oral healthcare industry that there is a large volume of business during the day and less activity at night, this invention can also achieve the goal of allocating more resources during busy periods and saving resources during idle periods. Furthermore, this method employs a single task execution node approach, scheduling different tasks to corresponding independent task execution nodes for execution. This not only avoids single-unit failures and reduces project code coupling, simplifying deployment complexity, but also ensures high reliability. A crash in the algorithm task conversion program within a node only affects that single task execution node. It can also break down the complete large model processing process into finer-grained processing tasks, thereby improving the granularity of the processing and reducing the performance requirements of the device. With finer-grained control over the model conversion effect, it is not picky about the device and always has a model suitable for the current device's performance.

[0136] The above resource scheduling method can be implemented as a computer program, which can be used in, for example... Figure 5 It runs on the computer device shown.

[0137] Please see Figure 5 , Figure 5 This is a schematic block diagram of a computer device provided in an embodiment of the present invention. This computer device may be used to execute resource scheduling methods.

[0138] See Figure 5 The computer device 500 includes a processor 502, a memory, and a network interface 505 connected via a system bus 501. The memory may include a storage medium 503 and internal memory 504.

[0139] The storage medium 503 may store an operating system 5031 and a computer program 5032. When the computer program 5032 is executed, it causes the processor 502 to perform a resource scheduling method. The storage medium 503 may be a volatile storage medium or a non-volatile storage medium.

[0140] The processor 502 provides computing and control capabilities to support the operation of the entire computer device 500.

[0141] The internal memory 504 provides an environment for the execution of the computer program 5032 in the storage medium 503. When the computer program 5032 is executed by the processor 502, the processor 502 can perform a resource scheduling method.

[0142] This network interface 505 is used for network communication, such as providing data transmission. Those skilled in the art will understand that... Figure 5 The structure shown is merely a block diagram of a portion of the structure related to the present invention and does not constitute a limitation on the computer device 500 to which the present invention is applied. The specific computer device 500 may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements.

[0143] The processor 502 is used to run the computer program 5032 stored in the memory to implement the corresponding functions in the resource scheduling method described above.

[0144] Those skilled in the art will understand that Figure 5The embodiments of the computer device shown do not constitute a limitation on the specific configuration of the computer device. In other embodiments, the computer device may include more or fewer components than illustrated, or combine certain components, or have different component arrangements. For example, in some embodiments, the computer device may include only memory and a processor. In such embodiments, the structure and function of the memory and processor are different from those shown. Figure 5 The embodiments shown are consistent and will not be repeated here.

[0145] It should be understood that, in this embodiment of the invention, the processor 502 may be a Central Processing Unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.

[0146] In another embodiment of the invention, a computer-readable storage medium is provided. This computer-readable storage medium may be volatile or non-volatile. The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps included in the resource scheduling method described above.

[0147] Those skilled in the art will readily understand that, for the sake of convenience and brevity, the specific working processes of the devices, apparatuses, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this invention.

[0148] In the embodiments provided by this invention, it should be understood that the disclosed devices, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. Units with the same function may be grouped into one unit. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. In addition, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interfaces, devices, or units, or it may be an electrical, mechanical, or other form of connection.

[0149] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of the embodiments of the present invention, depending on actual needs.

[0150] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0151] If the integrated unit is implemented as 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 invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a computer-readable storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned computer-readable storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), magnetic disks, or optical disks.

[0152] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in the present invention, and these modifications or substitutions should all be covered within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A resource scheduling method, applied in a resource scheduling system, characterized in that, The system includes a management and scheduling service unit and a task execution node, wherein the management and scheduling service unit includes a task input module and a task scheduling module; the method includes: The management and scheduling service unit obtains the task request message pushed by the cloud platform, which is created based on the original model file of the business side; The task input module in the management and scheduling service unit generates corresponding task information based on the task request message, and determines the task priority based on the task type of each task included in the task information, wherein the task priority and task information are written into a preset storage area. The task scheduling module retrieves corresponding task data in batches from the preset storage area according to the task priority, obtains task data to be processed, and schedules the task data to be processed to the corresponding task execution node based on the task data characteristics and task scheduling strategy. The corresponding task execution node executes the corresponding task.

2. The method according to claim 1, characterized in that, Before scheduling the task data to be processed to the corresponding task execution node based on task data characteristics and task scheduling strategy, the method further includes: The gateway of the task scheduling module registers the relevant information of the task execution node to the corresponding task scheduling module based on the node registration strategy, and stores the registered task execution node in a preset task execution node storage queue.

3. The method according to claim 2, characterized in that, Based on the characteristics of the task data and the task scheduling strategy, the task data to be processed is scheduled to the corresponding task execution node, including: Retrieve data on currently pending tasks and clean up task execution nodes that have failed or stopped running; The task scheduling module calculates the number of task execution nodes that need to be scheduled and started based on the data characteristics of the current task data to be processed, and performs idle task execution node detection on the task execution node storage queue based on the node detection strategy to obtain the detection result; When the detection result indicates that there are idle task execution nodes in the task execution node storage queue, and the number of idle task execution nodes in the task execution node storage queue is greater than or equal to the calculated number of task execution nodes that need to be scheduled and started, the task scheduling module obtains the idle task execution nodes corresponding to the number of task execution nodes that need to be scheduled and started from the task execution node storage queue. The currently pending task data is scheduled to the corresponding idle task execution node to execute the corresponding task.

4. The method according to claim 3, characterized in that, After performing idle task execution node detection on the task execution node storage queue based on the node detection strategy and obtaining the detection result, the method includes: When the detection result indicates that there are no idle task execution nodes in the task execution node storage queue, or the number of idle task execution nodes in the task execution node storage queue is less than the calculated number of task execution nodes that need to be scheduled and started, the number of task execution nodes to be expanded is calculated based on the current task data to be processed and the number of task execution nodes in different states in the task execution node storage queue through the node expansion strategy. Based on the current number of expanded task execution nodes, create task execution nodes for executing tasks.

5. The method according to claim 4, characterized in that, The calculation of the current number of task execution nodes to be expanded, based on the current task data to be processed and the number of task execution nodes in different states in the task execution node storage queue, through a node expansion strategy, includes: Obtain the configuration information of the task execution node storage queue and the number of task execution nodes in different states in the task execution node storage queue, wherein the configuration information includes the maximum number of surviving nodes and the minimum number of surviving nodes, and the number of task execution nodes in different states in the task execution node storage queue includes the number of nodes starting up and the number of online nodes; Based on the maximum number of surviving nodes, the number of nodes in startup, and the number of online nodes, the current maximum number of nodes allowed to be created is calculated. Based on the minimum number of surviving nodes, the current task data to be processed, the number of nodes in startup, and the number of online nodes, the estimated number of expansion nodes is calculated. Based on the current maximum allowed number of nodes to be created and the estimated number of nodes to be expanded, the current actual number of nodes to be expanded is calculated.

6. The method according to claim 1, characterized in that, Before scheduling the task data to be processed to the corresponding task execution node based on task data characteristics and task scheduling strategy, the method further includes: The task scheduling module cleans up task execution nodes that have failed or stopped running, and performs node expansion detection every preset time range to obtain the detection results; When the task scheduling module determines that the detection result indicates that a task execution node needs to be created, it calculates the number of task execution nodes that need to be expanded based on the node expansion strategy and the number of tasks to be processed. The task scheduling module creates task execution nodes for executing tasks based on the current number of task execution nodes that need to be expanded.

7. The method according to claim 1, characterized in that, After the corresponding task is executed at the corresponding task execution node, the method includes: The task scheduling module puts the task execution nodes that have completed their tasks back into the task execution node storage queue and records the task completion time of the task execution nodes that have completed their tasks. The task scheduling module cleans up task execution nodes that have failed or stopped running, and performs node scaling down detection every preset time range to obtain the detection results; When the task scheduling module determines that the time interval between the task completion time of the task execution node that has completed the task and the current time exceeds a preset time threshold, the task scheduling module will perform a scaling-down process on the task execution node that has completed the task. When the task scheduling module determines that the time interval between the task completion time of the task execution node that has completed the task and the current time does not exceed a preset time threshold, the task execution node that has completed the task continues to wait for the next scheduling.

8. A resource scheduling system, characterized in that, The system includes a management and scheduling service unit and task execution nodes, wherein the management and scheduling service unit includes a task input module and a task scheduling module; The management and scheduling service unit is used to obtain task request messages pushed by the cloud platform based on the original model file of the business side. The task input module in the management and scheduling service unit is used to generate corresponding task information based on the task request message, and determine the task priority based on the task type of each task included in the task information, wherein the task priority and task information are written into a preset storage area. The task scheduling module is also used to retrieve corresponding task data in batches from the preset storage area according to task priority, obtain task data to be processed, and schedule the task data to be processed to the corresponding task execution node based on task data characteristics and task scheduling strategy. The corresponding task execution node is used to execute the corresponding task.

9. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method as described in any one of claims 1 to 7.