Robot intelligent scheduling method and device, computing device and computer storage medium
By using a multi-level feedback queue algorithm and a pre-selection mechanism to screen robots, the problem of idle robot cluster resources was solved, resource utilization and work execution efficiency were improved, and enterprises achieved cost reduction, efficiency improvement and intelligentization.
Patent Information
- Application Number
- CN202110813950.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-07-19
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2041-07-19
AI Technical Summary
Existing robot cluster scheduling methods cannot dynamically switch strategies, resulting in insufficient resource utilization and idle robot cluster resources, which prevents efficient collaboration and maximizing resource utilization.
A multi-level feedback queue algorithm is adopted, which combines the pre-selection of the operating environment and the optimization mechanism of the robot. By traversing the multi-level task queue, pre-selecting robots, calculating real-time and predictive calculation scores, the most suitable target robot is selected for task assignment.
It improves the overall throughput of robot clusters, reduces idle waiting time, enhances resource allocation efficiency, enables enterprises to reduce costs and increase efficiency, and promotes industry intelligence.
Smart Images

Figure CN115639762B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communication technology, and specifically to a robot intelligent scheduling method, apparatus, computing device, and computer storage medium. Background Technology
[0002] With the deepening of enterprise digitalization, RPA technology is currently liberating humans from heavy and repetitive labor, improving enterprise work efficiency. As the management center for robots, the control platform performs comprehensive scheduling and access control for robot workstations. The current robot cluster scheduling method is as follows: the control platform centrally distributes tasks to the robot cluster; each robot constructs a local cache queue, executes tasks in its own queue using a First-Come, First-Served (FCFS) strategy, and reports the execution results to the control platform. The rule for the control platform to distribute tasks is based on the size of the robot's local queue, prioritizing robots with fewer tasks.
[0003] As customers' business processes become increasingly complex, the corresponding deployment environments also become more complex and massive. Current scheduling mechanisms are increasingly becoming a bottleneck in optimizing the scheduling, efficient collaboration, customizing strategies, and maximizing resource utilization of large-scale robots. Existing scheduling methods mainly suffer from the following drawbacks: inability to dynamically switch strategies, robot cluster resource utilization of less than 60%, and 40% of resources being idle. Summary of the Invention
[0004] In view of the above problems, embodiments of the present invention are proposed to provide a robot intelligent scheduling method, apparatus, computing device and computer storage medium that overcomes or at least partially solves the above problems.
[0005] According to one aspect of the present invention, a robot intelligent scheduling method is provided, comprising:
[0006] Traverse the multi-level task queue and extract the tasks to be assigned based on the priority of the multi-level task queue;
[0007] Each robot in the robot cluster is pre-selected to obtain at least one pre-selected robot;
[0008] For any pre-selected robot, a real-time calculation score is calculated based on the monitoring data reported by the pre-selected robot, and a predicted calculation score is obtained by predicting the resource utilization trend of the pre-selected robot; the operating pressure index of the pre-selected robot is calculated by combining the real-time calculation score and the predicted calculation score.
[0009] The target robot is selected based on the operating pressure index of at least one pre-selected robot;
[0010] Assign the tasks to be assigned to the target robot.
[0011] According to another aspect of the present invention, a robot intelligent scheduling device is provided, comprising:
[0012] The extraction module is suitable for traversing multi-level task queues and extracting tasks to be assigned based on the priority of the multi-level task queues.
[0013] The pre-selection module is suitable for pre-selecting individual robots in a robot cluster to obtain at least one pre-selected robot;
[0014] The calculation module is suitable for calculating a real-time calculation score for any pre-selected robot based on the monitoring data reported by the pre-selected robot, and for predicting the resource utilization trend of the pre-selected robot to obtain a predicted calculation score; and for calculating the operating pressure index of the pre-selected robot by combining the real-time calculation score and the predicted calculation score.
[0015] The screening module is adapted to select the target robot based on the operating pressure index of at least one pre-selected robot;
[0016] The assignment module is suitable for assigning tasks to target robots.
[0017] According to another aspect of the present invention, a computing device is provided, comprising: a processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other via the communication bus;
[0018] The memory is used to store at least one executable instruction, which causes the processor to perform the operation corresponding to the above-described intelligent robot scheduling method.
[0019] According to another aspect of the present invention, a computer storage medium is provided, wherein at least one executable instruction is stored in the storage medium, the executable instruction causing a processor to perform an operation corresponding to the robot intelligent scheduling method described above.
[0020] The solution provided by this invention solves the scheduling problem in large-scale robot operations. It utilizes a multi-level feedback queue algorithm, combined with a predicate mechanism for the operating environment and a priority mechanism for robots, to achieve a two-level screening mechanism. This maximizes the utilization of idle robot resources, effectively reduces job waiting time, improves the rational allocation and efficient use of RPA execution engine resources, thereby increasing the overall throughput of the robot cluster, improving job execution efficiency, reducing costs and increasing efficiency for enterprises, and further promoting industry intelligence.
[0021] The above description is merely an overview of the technical solutions of the embodiments of the present invention. In order to better understand the technical means of the embodiments of the present invention and to implement them in accordance with the contents of the specification, and to make the above and other objects, features and advantages of the embodiments of the present invention more obvious and understandable, specific implementation methods of the embodiments of the present invention are described below. Attached Figure Description
[0022] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of preferred embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit the scope of the invention. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:
[0023] Figure 1 This is a schematic diagram of a robot intelligent scheduling system according to an embodiment of the present invention;
[0024] Figure 2A A flowchart of the robot intelligent scheduling method provided in an embodiment of the present invention is shown;
[0025] Figure 2B This is a schematic diagram of a multi-level task queue;
[0026] Figure 3 A schematic diagram of the structure of the robot intelligent scheduling device provided in an embodiment of the present invention is shown;
[0027] Figure 4 A schematic diagram of the structure of a computing device provided in an embodiment of the present invention is shown. Detailed Implementation
[0028] Exemplary embodiments of the invention will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the invention are shown in the drawings, it should be understood that the invention may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this invention will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
[0029] This invention mainly provides a robot intelligent scheduling scheme. When the administrator enters a task, the priority level of the robot to perform the task is set according to the characteristics of the task. When the control platform schedules and calculates, it calculates the optimal robot to run based on the system performance indicators of the robot host machine, thereby realizing the real-time centralized distribution of robot tasks.
[0030] The solution provided by this invention is a highly efficient intelligent robot scheduling system based on BOS-MLFQSA (Based on scoring Multi-level feedback queue scheduling algorithm), which is implemented using a multi-level feedback queue scheduling algorithm based on a scoring mechanism. Figure 1 As shown, the intelligent robot scheduling system mainly includes a task management platform, a scheduling device, and robot nodes. The task management platform is used for initiating tasks and centralized management of task queues, facilitating task distribution and monitoring. The scheduling device is used for managing and scheduling task queues, robot nodes, and monitoring of the job host machine. A robot node includes one or more host machines, and a host machine can include one or more robots. Each robot's corresponding host machine Windows environment is pre-configured with n fixed accounts. Robot operation under multiple accounts follows these rules: each account can only run one robot at a time; a new task scheduling can only begin after a robot successfully or unsuccessfully completes its task. However, multiple accounts support the parallel operation of multiple robots. Job host machine monitoring includes monitoring the system performance indicators of the robot's host machine and the robot's operating status. The resource utilization rate (CPU, memory, disk, etc.) of the robot's host machine is extracted in real time and periodically uploaded to the task management module for calculation by the scheduling module's scoring algorithm.
[0031] Figure 2A A flowchart of the robot intelligent scheduling method provided in an embodiment of the present invention is shown. Figure 2A As shown, the method includes the following steps:
[0032] Step S201: Traverse the multi-level task queue and extract the tasks to be assigned according to the priority of the multi-level task queue.
[0033] Specifically, a multi-level task queue is pre-constructed, where each multi-level task queue is a combination of multiple task queues with different priorities. For example, task priority levels P0, P1, and P2 are defined, with smaller index numbers indicating higher priorities. Within the same priority task queue, a first-in-first-out (SCHED_FIFO) strategy is used. Figure 2B This is a diagram of a multi-level task queue. As the arrows indicate, the priority of the task queue gradually decreases.
[0034] When there is a scheduling requirement, it is necessary to first traverse the multi-level task queue and extract the tasks to be assigned according to the priority of the multi-level task queue. The highest priority task is extracted first. When there are multiple tasks with the same priority, the first-in-first-out strategy is used to determine the task to be extracted.
[0035] Step S202: Pre-select each robot in the robot cluster to obtain at least one pre-selected robot.
[0036] There are multiple robots in a robot cluster. It is necessary to pre-select each robot in the robot cluster to obtain at least one pre-selected robot. Pre-selection is the first round of screening. Through pre-selection, at least one pre-selected robot can be initially selected from the many robots in the robot cluster.
[0037] Optionally, when pre-selecting robots in the robot cluster, a pre-set pre-selection strategy can be used. For example, based on the robot's execution status and job type, at least one pre-selected robot can be obtained. The robot's execution status indicates its current state, such as working or idle; robots in an idle state are prioritized. The job type indicates the types of tasks the robot can handle. Therefore, by pre-selecting robots in the cluster based on their execution status and job type, at least one pre-selected robot is more suitable than other robots in the cluster for running the assigned task.
[0038] In addition, pre-selection rules can be manually configured to pre-select each robot in the robot cluster according to the manually configured pre-selection rules.
[0039] Step S203: For any pre-selected robot, calculate the real-time calculation score based on the monitoring data reported by the pre-selected robot, and predict the resource utilization trend of the pre-selected robot to obtain the predicted calculation score; combine the real-time calculation score and the predicted calculation score of the pre-selected robot to calculate the operating pressure index of the pre-selected robot.
[0040] To select the most suitable robot for the assigned task, a second screening is required after the initial selection. This second screening primarily relies on the robot's operational stress index, which reflects the robot's operational workload. Specifically, the operational stress index can be calculated using the following method:
[0041] For any pre-selected robot, the pre-selected robot will actively report monitoring data, including CPU data, memory data, disk data, etc. Therefore, a real-time computing score can be calculated based on the monitoring data reported by the pre-selected robot, and a predicted computing score can be obtained by predicting the resource utilization trend of the pre-selected robot. Optionally, a predicted computing score can be obtained by predicting the resource utilization trend of the pre-selected robot based on the execution history data of similar tasks. For example, the half-decayed mean and decay standard deviation can be used for prediction. After obtaining the real-time computing score and the predicted computing score, the operating pressure index of the pre-selected robot can be calculated by combining the real-time computing score and the predicted computing score. For example, the operating pressure index of the pre-selected robot can be calculated by weighting the real-time computing score and the predicted computing score.
[0042] Alternatively, the operating pressure index can be calculated using the following formula:
[0043] Operating pressure index = Real-time calculated score * weight 1 + Predicted calculated score * weight 2
[0044] The real-time score can be calculated using the following formula:
[0045] Real-time score calculation = CPU((capacity – estimated CPU consumption of the task) * 10 / capacity) + Memory((capacity – estimated memory consumption of the task) * 10 / capacity) / 2
[0046] The predicted score is calculated based on the variance of a series of historical execution data for similar tasks (DAVR formula). The formula for calculating the resource utilization decay variance (DAVR) is as follows:
[0047]
[0048] Formula for calculating the average resource utilization decay (davg):
[0049]
[0050] in, It can be dynamically adjusted; a normal setting is close to or below 0.5, indicating that the performance impact is referenced from the most recent run. n This is the execution history data for similar tasks.
[0051] In addition to predicting the resource utilization trend of the pre-selected robots based on the historical execution data of similar tasks to obtain a predicted score, the resource utilization trend of the pre-selected robots can also be predicted based on the type of pre-selected robots, execution progress information, and historical execution data of similar tasks to obtain a predicted score.
[0052] Step S204: Based on the operating pressure index of at least one pre-selected robot, the target robot is selected.
[0053] After calculating the operating pressure index, a target robot is selected based on the operating pressure index of at least one pre-selected robot. For example, robots with operating pressure indices lower than a preset pressure threshold are selected as target robots. When multiple robots have operating pressure indices lower than the preset pressure threshold, one robot can be randomly selected as the target robot. Robots in an idle state are given priority.
[0054] Step S205: Assign the task to be assigned to the target robot.
[0055] After the target robot is identified, the tasks to be assigned extracted in step S201 can be assigned to the target robot, which will then execute the assigned tasks. After assigning the tasks to the target robot, the tasks are added to the Running Queue to monitor their running status.
[0056] It should be noted that the above steps can be repeated in this embodiment to continue polling other tasks in the multi-level task queue until all tasks in the queue have been distributed.
[0057] In one optional embodiment of the present invention, after assigning the task to be assigned to the target robot, the method further includes: if the target robot fails to run the task to be assigned, then adding the task to be assigned to the failed task queue.
[0058] Specifically, after receiving a task to be assigned, the target robot runs the task. If the target robot fails to run the task, it will provide real-time feedback on the task's running status through a heartbeat mechanism and transfer the running task to the failed task queue.
[0059] In order to transfer the failed task to a relatively healthy idle robot in the robot cluster if the target robot fails to run the assigned task, the failed task can be transferred to the failed task queue. If the task fails more than three times, it can be transferred directly to the failed task queue for easy manual intervention and statistics.
[0060] In one optional embodiment of the present invention, the method further includes:
[0061] Receive the theft task request sent by the robot;
[0062] Based on the task stealing request, steal tasks that other robots have failed to run from the failed task queue, and assign the stolen tasks to that robot.
[0063] To improve scheduling efficiency, each robot in the robot cluster can proactively initiate a task stealing request. Each robot can read its own status information to determine if it is in an idle state. If so, it sends a task stealing request. After receiving a task stealing request from a robot, the robot steals failed tasks from the failed task queue according to the request and assigns the stolen tasks to the current robot. For example, the work-stealing algorithm can be used to sniff out all failed tasks, proactively steal failed tasks from other robots in the failed task queue, and report back to the current robot.
[0064] The solution provided by this invention solves the scheduling problem in large-scale robot operations. It utilizes a multi-level feedback queue algorithm, combined with a predicate mechanism for the operating environment and a priority mechanism for robots, to achieve a two-level screening mechanism. This maximizes the utilization of idle robot resources, effectively reduces job waiting time, improves the rational allocation and efficient use of RPA execution engine resources, thereby increasing the overall throughput of the robot cluster, improving job execution efficiency, reducing costs and increasing efficiency for enterprises, and further promoting industry intelligence.
[0065] Figure 3 A schematic diagram of the robot intelligent scheduling device provided in an embodiment of the present invention is shown. Figure 3 As shown, the device includes: an extraction module 301, a pre-selection module 302, a calculation module 303, a filtering module 304, and an assignment module 305.
[0066] Extraction module 301 is suitable for traversing multi-level task queues and extracting tasks to be assigned according to the priority of the multi-level task queues.
[0067] The pre-selection module 302 is adapted to pre-select each robot in the robot cluster to obtain at least one pre-selected robot;
[0068] The calculation module 303 is adapted to calculate a real-time calculation score for any pre-selected robot based on the monitoring data reported by the pre-selected robot, and to predict the resource utilization trend of the pre-selected robot to obtain a predicted calculation score; and to calculate the operating pressure index of the pre-selected robot by combining the real-time calculation score and the predicted calculation score.
[0069] The screening module 304 is adapted to select the target robot based on the operating pressure index of at least one pre-selected robot;
[0070] The assignment module 305 is suitable for assigning tasks to target robots.
[0071] Optionally, the calculation module is further adapted to: predict the resource utilization trend of the pre-selected robots based on the historical execution data of similar tasks to obtain a predicted calculation score.
[0072] Optionally, pre-selecting individual robots in the robot swarm to obtain at least one pre-selected robot further includes:
[0073] Based on the robot's execution status and job type, each robot in the robot cluster is pre-selected to obtain at least one pre-selected robot.
[0074] Optionally, the device further includes: a receiving module adapted to receive a theft task request sent by the robot;
[0075] The stealing module is adapted to steal tasks that other robots have failed to run from the failed task queue based on a stealing task request;
[0076] The dispatch module is also suitable for: assigning the stolen task to the robot.
[0077] Optionally, the device further includes an adding module adapted to add the task to be assigned to a failed task queue if the target robot fails to run the task to be assigned.
[0078] The solution provided by this invention solves the scheduling problem in large-scale robot operations. It utilizes a multi-level feedback queue algorithm, combined with a predicate mechanism for the operating environment and a priority mechanism for robots, to achieve a two-level screening mechanism. This maximizes the utilization of idle robot resources, effectively reduces job waiting time, improves the rational allocation and efficient use of RPA execution engine resources, thereby increasing the overall throughput of the robot cluster, improving job execution efficiency, reducing costs and increasing efficiency for enterprises, and further promoting industry intelligence.
[0079] This invention provides a non-volatile computer storage medium storing at least one executable instruction that can execute the robot intelligent scheduling method in any of the above method embodiments.
[0080] Figure 4 The diagram shows a structural schematic of a computing device provided in an embodiment of the present invention. The specific embodiments of the present invention do not limit the specific implementation of the computing device.
[0081] like Figure 4 As shown, the computing device may include a processor, a communications interface, memory, and a communications bus.
[0082] The processor, communication interface, and memory communicate with each other via a communication bus. The communication interface is used to communicate with other network elements, such as clients or other servers. The processor executes programs, specifically the relevant steps described in the robot intelligent scheduling method embodiment for computing devices.
[0083] Specifically, the program may include program code, which includes computer operation instructions.
[0084] The processor may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention. The computing device includes one or more processors, which may be processors of the same type, such as one or more CPUs; or processors of different types, such as one or more CPUs and one or more ASICs.
[0085] Memory is used to store programs. Memory may include high-speed RAM, and may also include non-volatile memory, such as at least one disk drive.
[0086] Specifically, the program can be used to cause the processor to execute the robot intelligent scheduling method in any of the above method embodiments. The specific implementation of each step in the program can be found in the corresponding descriptions of the steps and units in the above robot intelligent scheduling embodiments, and will not be repeated here. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the devices and modules described above can be referred to the corresponding process descriptions in the foregoing method embodiments, and will not be repeated here.
[0087] The algorithms or displays provided herein are not inherently related to any particular computer, virtual system, or other device. Various general-purpose systems can also be used in conjunction with the teachings herein. The required structure for constructing such systems is apparent from the above description. Furthermore, the embodiments of the present invention are not directed to any particular programming language. It should be understood that the embodiments of the present invention described herein can be implemented using various programming languages, and the above description of specific languages is for the purpose of disclosing the best mode of implementation of the embodiments of the present invention.
[0088] Numerous specific details are set forth in the specification provided herein. However, it will be understood that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of this specification.
[0089] Similarly, it should be understood that, in order to streamline the embodiments of the invention and aid in understanding one or more of the various inventive aspects, features of the embodiments of the invention are sometimes grouped together in a single embodiment, figure, or description thereof in the above description of exemplary embodiments of the invention. However, this disclosure should not be construed as reflecting an intention that the claimed embodiments of the invention require more features than are expressly recited in each claim. Rather, as reflected in the following claims, inventive aspects lie in fewer than all features of a single foregoing disclosed embodiment. Therefore, the claims following the detailed description are hereby expressly incorporated into that detailed description, wherein each claim itself is a separate embodiment of the invention.
[0090] Those skilled in the art will understand that modules in the device of the embodiments can be adaptively changed and placed in one or more devices different from that embodiment. Modules, units, or components in the embodiments can be combined into a single module, unit, or component, and further, they can be divided into multiple sub-modules, sub-units, or sub-components. Except where at least some of such features and / or processes or units are mutually exclusive, any combination can be used to combine all features disclosed in this specification (including the accompanying claims, abstract, and drawings) and all processes or units of any method or device so disclosed. Unless expressly stated otherwise, each feature disclosed in this specification (including the accompanying claims, abstract, and drawings) may be replaced by an alternative feature that serves the same, equivalent, or similar purpose.
[0091] Furthermore, those skilled in the art will understand that although some embodiments herein include certain features included in other embodiments but not others, combinations of features from different embodiments are intended to be within the scope of the invention and form different embodiments. For example, in the following claims, any of the claimed embodiments can be used in any combination.
[0092] The various component embodiments of the present invention can be implemented in hardware, or as software modules running on one or more processors, or a combination thereof. Those skilled in the art will understand that microprocessors or digital signal processors (DSPs) can be used in practice to implement some or all of the functions of some or all of the components according to the embodiments of the present invention. The embodiments of the present invention can also be implemented as device or apparatus programs (e.g., computer programs and computer program products) for performing part or all of the methods described herein. Such programs implementing the embodiments of the present invention can be stored on a computer-readable medium, or can be in the form of one or more signals. Such signals can be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
[0093] It should be noted that the above embodiments are illustrative of the present invention and not restrictive of the invention, and that those skilled in the art can devise alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses should not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. Embodiments of the present invention can be implemented by means of hardware comprising several different elements and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by the same item of hardware. The use of the words first, second, and third, etc., does not indicate any order. These words can be interpreted as names. The steps in the above embodiments, unless otherwise specified, should not be construed as limiting the order of execution.
Claims
1. A robot intelligent scheduling method, comprising: Traverse the multi-level task queue and extract the tasks to be assigned according to the priority of the multi-level task queue. The multi-level task queue is a combination of multiple task queues with different priorities. The first-in-first-out strategy is adopted within the task queue with the same priority. Each robot in the robot cluster is pre-selected to obtain at least one pre-selected robot; For any pre-selected robot, a real-time calculation score is calculated based on the monitoring data reported by the pre-selected robot, and a predicted calculation score is obtained by predicting the resource utilization trend of the pre-selected robot. The predicted calculation score is obtained by predicting the resource utilization trend of the pre-selected robot based on the execution history data of similar tasks. The operating pressure index of the pre-selected robot is calculated by combining the real-time calculation score and the predicted calculation score. Based on the operating pressure index of the at least one pre-selected robot, the target robot is preferably obtained; The task to be assigned is assigned to the target robot; The operating pressure index is calculated using the following formula: Operational stress index = Real-time calculated score × Weight 1 + Predicted calculated score × Weight 2 The score is calculated in real time using the following formula: Real-time score calculation = CPU((capacity – estimated CPU consumption of the task) × 10 / capacity) + Memory((capacity – estimated memory consumption of the task) × 10 / capacity) / 2 The predicted score is calculated using the davr formula based on the variance of a series of historical execution data for similar tasks. The formula for calculating the davr of resource utilization decay is as follows: Formula for calculating the average resource utilization decay (davg): in, It is dynamically adjustable; a normal setting is close to or below 0.5, indicating that the performance impact of the most recently run system is being considered. This is the execution history data for similar tasks.
2. The method according to claim 1, wherein, The step of pre-selecting individual robots in the robot cluster to obtain at least one pre-selected robot further includes: Based on the robot's execution status and job type, each robot in the robot cluster is pre-selected to obtain at least one pre-selected robot.
3. The method according to claim 1 or 2, wherein, The method further includes: Receive the theft task request sent by the robot; Based on the stolen task request, steal tasks that other robots have failed to run from the failed task queue, and assign the stolen tasks to that robot.
4. The method according to claim 1 or 2, wherein, After assigning the task to be assigned to the target robot, the method further includes: if the target robot fails to run the task to be assigned, then adding the task to be assigned to the failed task queue.
5. A robot intelligent scheduling device, comprising: The extraction module is suitable for traversing multi-level task queues and extracting tasks to be assigned according to the priority of the multi-level task queues. The multi-level task queue is a combination of multiple task queues with different priorities, and a first-in-first-out strategy is adopted within the task queues of the same priority. The pre-selection module is suitable for pre-selecting individual robots in a robot cluster to obtain at least one pre-selected robot; The calculation module is adapted to calculate a real-time calculation score for any pre-selected robot based on the monitoring data reported by the pre-selected robot, and to predict the resource utilization trend of the pre-selected robot to obtain a predicted calculation score. The predicted calculation score is obtained by predicting the resource utilization trend of the pre-selected robot based on the execution history data of similar tasks. The module combines the real-time calculation score and the predicted calculation score of the pre-selected robot to calculate the operating pressure index of the pre-selected robot. The screening module is adapted to preferentially select a target robot based on the operating pressure index of the at least one pre-selected robot; The assignment module is adapted to assign the task to be assigned to the target robot; The operating pressure index is calculated using the following formula: Operational stress index = Real-time calculated score × Weight 1 + Predicted calculated score × Weight 2 The score is calculated in real time using the following formula: Real-time score calculation = CPU((capacity – estimated CPU consumption of the task) × 10 / capacity) + Memory((capacity – estimated memory consumption of the task) × 10 / capacity) / 2 The predicted score is calculated using the davr formula based on the variance of a series of historical execution data for similar tasks. The formula for calculating the davr of resource utilization decay is as follows: Formula for calculating the average resource utilization decay (davg): in, It is dynamically adjustable; a normal setting is close to or below 0.5, indicating that the performance impact of the most recently run system is being considered. This is the execution history data for similar tasks.
6. The apparatus according to claim 5, wherein, The step of pre-selecting individual robots in the robot cluster to obtain at least one pre-selected robot further includes: Based on the robot's execution status and job type, each robot in the robot cluster is pre-selected to obtain at least one pre-selected robot.
7. A computing device, comprising: The processor, memory, communication interface, and communication bus are provided, wherein the processor, memory, and communication interface communicate with each other via the communication bus. The memory is used to store at least one executable instruction, which causes the processor to perform the operation corresponding to the robot intelligent scheduling method as described in any one of claims 1-4.
8. A computer storage medium storing at least one executable instruction that causes a processor to perform an operation corresponding to the robot intelligent scheduling method as described in any one of claims 1-4.
Citation Information
Patent Citations
Method for monitoring running state of industrial glue spread robot based on digital twin technology
CN111230887A
Process task execution control method, device and equipment
CN113051019A