Automatic task intelligent allocation method and system based on robot state perception
By constructing an automated task intelligent allocation method based on robot state awareness, the problem of unstable resource scheduling in traditional RPA platforms is solved, achieving efficient utilization of robot resources and improved task response speed, while ensuring the stability and consistency of scheduling.
Patent Information
- Application Number
- CN202511107073.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-08
- Publication Date
- 2025-11-25
AI Technical Summary
In large-scale enterprise deployments, traditional RPA platforms lack real-time performance and intelligent judgment in robot resource scheduling, resulting in idle resources, task backlog, low scheduling efficiency, and a lack of unified guarantees and status feedback mechanisms.
By using robot state perception, an automated task intelligent allocation method is constructed. Robot operating status information is collected, and a scoring function is constructed to intelligently match and sort tasks based on task priority and resource utilization. Resource scarcity penalties and task redundancy penalties are introduced to ensure scheduling stability and consistency.
It significantly improves the efficiency of robot resource utilization and task response speed in the RPA platform, ensures scheduling stability, avoids resource waste and task congestion, and achieves efficient scheduling in dynamic resource environments.
Smart Images

Figure CN121008913A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the technical field of intelligent task allocation for robots, specifically to an automated intelligent task allocation method and system based on robot state perception. Background Technology
[0002] With the acceleration of enterprise digital transformation, RPA (Robotic Process Automation) systems are widely deployed in various high-frequency repetitive operation scenarios, such as business approval, data reconciliation, and information aggregation. Current mainstream RPA platforms all provide task configuration and robot control interfaces, allowing users to set scheduling tasks within the system and manually select target robots for execution.
[0003] However, with the expansion of deployment scale, the increase in the number of robots, the rise in task complexity, and the increased real-time requirements, traditional static configuration methods are no longer sufficient to meet actual business needs. In real-world scenarios, users often cannot accurately grasp the current operating status and load of each robot, and scheduling strategies lack real-time performance and intelligent judgment capabilities. Most systems use preset priorities, manual screening, simple polling, or random algorithms for task allocation. This approach is prone to causing some robots to be idle, while others experience severe task backlog, resulting in overall low scheduling efficiency when faced with drastic changes in resource status or significant differences in task priorities. Furthermore, current systems lack a unified guarantee and status feedback mechanism for task scheduling and execution, which can easily lead to inconsistencies in scheduling, duplicate assignments, and queue congestion in key stages such as task binding and triggering execution. Especially in enterprise-level RPA deployments, the stability of scheduling, resource utilization, and response time directly affect the level of automation.
[0004] Therefore, how to build a complete scheduling system with real-time perception, intelligent analysis, stable decision-making and consistent execution capabilities is a technical challenge that urgently needs to be solved. Summary of the Invention
[0005] The purpose of this invention is to provide an automated task intelligent allocation method and system based on robot state perception, so as to solve the problems mentioned in the background art. It breaks through the passive scheduling approach of the traditional "task-resource binding" level, and provides a structured, reproducible, intelligent and controllable scheduling system, which significantly improves the robot resource utilization efficiency, task response speed and scheduling stability in the RPA platform.
[0006] To achieve the above objectives, a first aspect of the present invention provides an automated task intelligent allocation method based on robot state perception, characterized by comprising the following steps:
[0007] The task scheduling front-end interface is used to obtain the list of tasks currently to be scheduled for the robot and collect the running status information of all robots. The running status information includes the robot's online information, the number of tasks currently being executed, the robot's maximum concurrent task capacity, and the number of remaining task bits for the robot. Robots that meet the current scheduling conditions are marked and a set of schedulable robots is output.
[0008] For any task, select all robots that meet the scheduling conditions from the set of schedulable robots to construct a set of candidate robots for the task; for each task and its corresponding task type code, calculate the scheduling suitability of the task to be assigned to the corresponding robot by constructing a scoring function. The scoring function is calculated by the number of idle tasks currently available on the robot, the estimated time to complete the task, the number of tasks currently assigned to the robot, the robot's maximum concurrency capability, and the task priority.
[0009] Based on the scoring function, a ranking driving factor is introduced to construct a final ranking scoring function. The final ranking score for all robots is calculated for each task. The final ranking scores are sorted from high to low. The robot with the highest final ranking score is selected for each task and assigned until all tasks are scheduled or robot resources are exhausted.
[0010] Based on the ranking results of the final ranking scores, the actual task scheduling binding relationship is converted, and each task is assigned to the robot with the highest final ranking score to form the final scheduling result;
[0011] The task and corresponding robot assignment relationship is registered in the scheduling and execution system, and the robot is triggered to execute the task at the scheduled time.
[0012] Preferably, each task in the current list of tasks to be scheduled includes a task priority, an estimated execution time, and a task type code.
[0013] Preferably, the conditions for a robot to meet the scheduling conditions are that the robot is online and the number of remaining tasks is greater than zero. The value of the number of remaining tasks is equal to the difference between the robot's maximum concurrent task capacity and the number of tasks currently being executed. If the above conditions cannot be met simultaneously, it means that the robot does not meet the scheduling conditions.
[0014] Preferably, the factors influencing the scoring function include the robot's remaining task receiving capacity, the robot's load status, and the urgency of the task; wherein, the higher the robot's current remaining task receiving capacity, the higher the scheduling priority; the higher the robot's load status, the lower the scheduling priority; and the more urgent the task, the higher the priority and the higher the corresponding score.
[0015] Preferably, the final ranking scoring function includes a resource scarcity penalty factor and a task redundancy penalty term. The resource scarcity penalty factor is used to allocate short tasks or low-priority tasks when the number of idle tasks of a robot is lower than a preset threshold, so as to avoid high-priority tasks being stuck in an unexecutable state for a short period of time. The task redundancy penalty term is used to prioritize the processing of tasks with fewer candidate robots when a task has multiple robot candidates, so as to prevent the occupation of scheduling resources.
[0016] Preferably, each task is assigned to the robot with the highest final ranking score. When a task is not assigned, if the robot's remaining task receiving capacity is greater than zero, the task is assigned to a robot with a remaining task receiving capacity greater than zero, and the task is marked as assigned and will no longer participate in subsequent scheduling.
[0017] Preferably, when the robot's remaining task receiving capacity is zero, the robot is removed from the assignment process; at the end of the task assignment, the set of completed task-robot assignment pairs is output.
[0018] A trigger evaluation function is constructed at the scheduling time to calculate the task trigger priority score, which is used to determine whether to trigger the task immediately or delay its triggering. The specific steps are as follows:
[0019] When the task trigger priority score is greater than zero, it means that the current task meets the time requirement and the robot's load allows for immediate execution, and the task is pushed to the task execution queue on the robot side; otherwise, the task enters the short-time delay queue for delayed triggering to avoid instantaneous robot overload or scheduling congestion.
[0020] A second aspect of the invention provides an automated task intelligent allocation system based on robot state awareness, comprising:
[0021] The data acquisition module is used to obtain the list of tasks currently to be scheduled by the robot through the task scheduling front-end interface and collect the running status information of all robots. The running status information includes robot online information, the number of tasks currently being executed, the robot's maximum concurrent task capacity, and the number of remaining task bits of the robot. The module marks the robots that meet the current scheduling conditions and outputs a set of schedulable robots.
[0022] The task adaptability calculation module is used to filter all robots that meet the scheduling conditions from the set of schedulable robots, construct a set of candidate robots for tasks, and calculate the scheduling adaptability of each task and its corresponding task type code by constructing a scoring function. The scoring function is calculated by the number of idle tasks of the robot, the estimated time to complete the task, the number of tasks currently assigned to the robot, the robot's maximum concurrency capability, and the task priority.
[0023] The task allocation module is used to introduce a ranking driving factor to construct a final ranking scoring function based on the scoring function, calculate the final ranking score for all robots for each task, sort the final ranking scores from high to low, and select the robot with the highest final ranking score for each task to be allocated, until all tasks are scheduled or robot resources are exhausted.
[0024] The task scheduling and output module is used to convert the sorting result of the final sorting score into an actual task scheduling binding relationship, and assign each task to the robot with the highest final sorting score to form the final scheduling result.
[0025] The task triggering and execution module is used to register the assignment relationship between tasks and corresponding robots to the scheduling and execution system, and to trigger the robot to execute the task at the scheduled time.
[0026] A third aspect of the invention provides an electronic device comprising a processor, a memory, and a communication interface, wherein the processor, the memory, and the communication interface are interconnected and perform communication with each other, the memory stores executable program code, the communication interface is used for wireless communication, and the processor is used to retrieve the executable program code stored in the memory and execute some or all of the steps described in any of the methods of the first aspect.
[0027] A fourth aspect of the invention provides a computer-readable storage medium storing electronic data, which, when executed by a processor, is used to perform the electronic data to implement some or all of the steps described in the first aspect of the application.
[0028] A fifth aspect of the invention provides a computer program product comprising a non-transitory computer-readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps described in the first aspect of this application. The computer program product may be a software installation package.
[0029] Compared with the prior art, the beneficial effects of the present invention are:
[0030] This invention proposes an automated task intelligent allocation method and system based on robot state awareness, addressing the needs of large-scale enterprise-level RPA deployments. It constructs a closed-loop mechanism encompassing task and robot state acquisition, scheduling resource evaluation, intelligent matching and scoring, priority ranking control, static allocation decision-making, and consistent execution triggering. The system first collects the priority, execution time, and type information of all tasks to be executed through a scheduling interface, and combines this with real-time data collected from the robot platform's interface, including the online status, load level, concurrency capabilities, and supported capability types of each robot, to establish a unified, structured input data model. After establishing an initial mapping relationship between tasks and robots, the system scores the matching degree using an adaptation scoring function that integrates task urgency, resource availability, and load factors. Furthermore, it introduces resource scarcity and redundant scheduling penalties to construct a priority ranking factor, achieving scheduling priority ranking in a dynamic resource environment. After ranking, the system uses a static scheduling decision-making mechanism to complete task binding and designs a resource exclusivity mechanism to avoid duplicate robot allocation, ensuring stable and controllable allocation. Finally, the system achieves task registration, state persistence, and high-concurrency safe triggering through consistent hash generation and a distributed task triggering engine, avoiding scheduling loss and duplicate execution issues. This invention breaks through the traditional passive scheduling approach at the "task-resource binding" level, and provides a structured, reproducible, intelligent and controllable scheduling system, which significantly improves the robot resource utilization efficiency, task response speed and scheduling stability in the RPA platform. Attached Figure Description
[0031] Figure 1 This is a flowchart of an automated task intelligent allocation method based on robot state perception, according to an embodiment of the present invention.
[0032] Figure 2 This is a framework diagram of an automated task intelligent allocation system based on robot state perception, according to an embodiment of the present invention.
[0033] Figure 3 This is a structural block diagram of an electronic device provided in an embodiment of the present invention. Detailed Implementation
[0034] 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 embodiments of the present invention, and not all embodiments. 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.
[0035] Please see Figure 1-3 This invention provides a technical solution: an automated task intelligent allocation method based on robot state perception, comprising the following steps:
[0036] S1. Obtain the list of tasks currently to be scheduled by the robot through the task scheduling front-end interface and collect the running status information of all robots. The running status information includes robot online information, the number of tasks currently being executed, the robot's maximum concurrent task capacity, and the number of remaining task bits of the robot. Mark the robots that meet the current scheduling conditions and output the set of schedulable robots.
[0037] This step is used to collect all the task and robot information required for scheduling from the system at once, and structure it into a standard input format for use by subsequent scheduling algorithms.
[0038] Task source: RPA console scheduling initiation module or task management database;
[0039] Robot status source: Real-time status synchronization interface in the robot operation platform (usually based on gRPC or HTTP API polling);
[0040] Robot capabilities are derived from the platform's static configuration table or robot registration information in the registry center (such as the types of tasks the robot supports, maximum concurrency, etc.).
[0041] All of this data can be obtained through a standard JSON structure, and the platform environment supports RESTful interfaces or database queries.
[0042] First, the system obtains the list of tasks currently to be scheduled through the task scheduling front-end interface or a database view. Each task t... i It includes the following fields:
[0043] p i Task priority, with values {"high", "medium", "low"}, uniformly mapped to numeric types, ranging from [1, 3], manually configured by the task creator or using the default strategy; d i The estimated execution time of the task (in minutes) is obtained by statistically analyzing the historical average execution value of this task from the database, for example, d. 1024 =17 means that task number 1024 took an average of 17 minutes; r i Task type code, such as "OCRUPLOAD", indicates that the task requires a robot with OCR capabilities to process it.
[0044] For example, a task to "identify and upload invoices" can have its fields structured as follows:
[0045] t i = <p i =3,d i =20,r i =OCRUPLOAD> (1)
[0046] Subsequently, by calling the robot platform's interface (such as / api / robot / state_list), all robot operating status information is collected, including:
[0047] s j Whether the robot is online (1 indicates online, 0 indicates offline) is determined by a heartbeat mechanism; j The number of tasks currently being executed, in "tasks," is obtained from the current task assignment records of the scheduling platform; j The robot's maximum concurrent task capacity, measured in "tasks," is determined by the platform's static configuration; a j The number of bits remaining in the robot's task is defined as a. j =c j -l j If the value is less than 1, it is considered to have no scheduling capability; supportedtypes j The list of task types supported by the robot, such as {"OCRUPLOAD","DOCPARSE"}, is provided by the registration information.
[0048] Whether the robot meets the current scheduling conditions is expressed by the following logic:
[0049]
[0050] in:
[0051] δ j Represents robot r j The scheduling validity flag; s j This represents the robot's online status, expressed in [status] (0 or 1); a j The remaining task receiving capacity of the robot, in units of [number of tasks], is determined by the static capacity c. j Subtract the current load l j The result of this function is a dimensionless logical variable (0 or 1).
[0052] Then, for each task t i The system iterates through all systems that satisfy δ j For robots with a value of 1, count the number of schedulable candidates, given that the task type is r. i The set of support types for this robot:
[0053]
[0054] in:
[0055] K i For task t i The number of robots currently available for scheduling (unit: [number]); This is a Boolean indicator function that returns 1 or 0; r i For task type codes; supportedtypes j For robot r j Supported type set; δ j The result of the scheduling effectiveness judgment is shown in the above formula.
[0056] Ultimately, we obtain two data structures:
[0057] Task Collection Each task t i Represented as a triplet <p i ,d i ,r i >;
[0058] Set of schedulable robots Includes all δ j For a robot with a capacity of 1, record its current idle capacity a. j With the set of supported task types.
[0059] S2. For any task, select all robots that meet the scheduling conditions from the set of schedulable robots to construct a set of candidate robots for the task; for each task and its corresponding task type code, calculate the scheduling suitability of the task to be assigned to the corresponding robot by constructing a scoring function. The scoring function is calculated by the number of idle tasks currently available on the robot, the estimated time to complete the task, the number of tasks currently assigned to the robot, the maximum concurrency capability of the robot, and the task priority.
[0060] After completing the structured information collection of tasks and robots, this step establishes a preliminary mapping relationship between tasks and schedulable robots based on the data from step S1, and constructs an adaptation scoring matrix to express the scheduling preference of each task for each candidate robot. Unlike traditional resource scheduling strategies, this step, considering the characteristics of RPA scenarios such as "strong task heterogeneity," "large differences in robot distributed capabilities," and "task priority sensitivity," proposes a lightweight but scheduling-guiding scoring function structure as input for subsequent task ranking and allocation.
[0061] First, for task t i The system from Select all robots that meet the scheduling conditions to construct a set of candidate robots for the task. The condition is the type r required for the task. i Exists in the robot support type:
[0062]
[0063] In this formula:
[0064] It is task t i A preliminary set of candidate robots; r i It is a task type identifier; δ j and supportedtypes j From step 1, the former indicates that the robot is online and schedulable, while the latter is the robot's capability domain;
[0065] Next, in order to provide input for subsequent sorting, this embodiment needs to perform a sorting process for each pair of pairs. <t i ,r j Construct a rating value w ij Used to measure task t i Assigned to robot r j Scheduling adaptability. This scoring structure combines three key influencing factors:
[0066] Current available capacity (the more available slots, the higher the scheduling priority), robot load status (the higher the load, the lower the scheduling priority), and task urgency (the higher the priority, the higher the score should be).
[0067] This embodiment designs the following scoring function:
[0068]
[0069] Among them, a j Represents robot r j Current number of idle tasks, from step S1, unit: [number of tasks]; d i Represents task t i The estimated duration, in minutes, is based on the historical average execution time of the task; j This field indicates the number of tasks currently assigned to the robot, in units of [tasks]. This field was already present in the data collection in step 1 and is not yet present in [the previous data collection]. Explicitly reserved, should be added here.
[0070] <r j ,a j ,l j ,c j ,supportedtypes j >;c j This represents the robot's maximum concurrent capability, in units of [number of tasks]; p i λ1 represents task priority, with a value range of {1, 2, 3}; λ1 = 0.5 represents the weight of the load penalty term; λ2 = 0.3 represents the influence of the priority boost term; w ij This is a dimensionless score; a higher score indicates a higher scheduling priority.
[0071] This scoring function achieves three specific design goals:
[0072] pass Prioritize short-term high-load responses of control robots to avoid binding long tasks to light-load robots;
[0073] pass Limiting the scheduling probability of robots with high current loads acts as a "soft shield";
[0074] pass Increase the matching weight of high-priority tasks to reflect their importance.
[0075] Step S2 ultimately yields:
[0076] Candidate set index Used to identify the set of robots that can be scheduled for each task;
[0077] Rating Matrix Used for task scheduling priority calculation.
[0078] S3. Based on the scoring function, introduce a sorting driving factor to construct a final sorting scoring function. Calculate the final sorting score for all robots for each task. Sort the final sorting scores from high to low. Select the robot with the highest final sorting score for each task and assign it to the robot until all tasks are scheduled or robot resources are exhausted.
[0079] The main task of this step is to generate the scheduling and sorting score s. ij This is used to determine the final scheduling order among all candidate task-robot pairs. For this purpose, this embodiment already has a scoring function w in step 2. ij Based on this, a ranking driving factor function S is further introduced. ij It adds two innovative design items under patent scenarios to the original scoring:
[0080] Resource scarcity penalty factor: when the number of idle tasks of the robot is a j When there are fewer tasks, it is advisable to assign short or low-priority tasks to avoid high-priority tasks being stuck in an unexecutable state for a short period of time.
[0081] Task redundancy penalty: When a task has multiple robot candidates, the system should prioritize the task with the smaller candidate set to prevent "resource-rich tasks" from crowding out scheduling resources.
[0082] Based on this design concept, the final ranking and scoring function is defined as follows:
[0083]
[0084] The variables are explained as follows:
[0085] s ijTask t i Assigned to robot r j The final ranking score; w ij The basic adaptation score, derived from step 2, considers robot load, task execution time, and priority; a j The robot's remaining task receiving capacity, i.e. the number of currently idle task slots (unit: slots), is initially obtained from step 1 and dynamically decreases during the sorting process; Task t i The number of candidate robots is derived from step S2; : The total number of schedulable robots, from step 1; λ1: Resource scarcity penalty adjustment coefficient, typically taken as 0.4; λ2: Task redundancy suppression factor, typically taken as 0.6.
[0086] This formula embodies a triple scheduling orientation:
[0087] Basic scheduling adaptability (w) ij );
[0088] Sensitive regulation of resource scarcity (1 / (a) j +1));
[0089] Penalty for tasks that are "too redundant and optional" (the more candidate robots there are, the lower the sorting priority).
[0090] This embodiment uses a scenario as an example to illustrate the actual operating mechanism of the formula:
[0091] Task t1: There are two robots to choose from; robot r3: a3 = 1 (only 1 schedulable task slot remains), w 13 =0.6; A total of 5 robots can be scheduled; let λ1 = 0.4, λ2 = 0.6.
[0092] The ranking score is then:
[0093]
[0094] This score will be used for comparison and decision-making in the task scheduling sorting table.
[0095] The scheduling logic uses a sorting and selection process:
[0096] All (t) i ,r j ,s ij Flatten the triples and sort them by s ij Sort in descending order; each time, retrieve the highest value, if t i Unassigned, and robot r jThere is still remaining task receiving capacity, meaning there are still available slots (a j If >0), then record (t) i →r j ) represents the current scheduling pair; update a j =a j -1, remove all pointers to r from the subsequent queue. j s ij Record (or re-score); until all tasks are scheduled or robot resources are exhausted.
[0097] Step S3 ultimately yields:
[0098] Scheduling mapping result table Each task is assigned to one robot;
[0099] Resource Status Table Each robot has remaining task slots;
[0100] Scheduling Priority Record Table Used for debugging or analyzing the effects of sorting logic.
[0101] S4. Based on the ranking result of the final ranking score, convert it into an actual task scheduling binding relationship, and assign each task to the robot with the highest final ranking score to form the final scheduling result;
[0102] The core task of this step is to process the scheduling and sorting results generated in step 3. Converted into actual task scheduling binding relationships, that is, each task t i Clearly assign to a suitable robot r j This forms the final scheduling result.
[0103] The system will first By score ij Sort the pairs in descending order to obtain the sequence of scheduling pairs to be processed. Then, iterate through each pair (t) sequentially. i ,r j ), and perform task allocation judgment.
[0104] The system employs the following scheduling logic during traversal:
[0105] If task t i Unassigned, and robot r j The remaining schedulable slot a j If the value is greater than 0, then perform the allocation: t i →r j Update robot resource status after allocation: a j :=a j -1; will t iMarked as allocated, it will no longer participate in subsequent scheduling; if a j =0, then the robot r j Exit subsequent iterations; at the end of the loop, the system will retain completed task-robot assignment pairs.
[0106] This logic does not perform any reordering or feedback rollback, and belongs to the static scheduling one-time binding strategy. Its advantages are low scheduling cost, strong execution determinism, and suitability for enterprise internal static resource scenarios.
[0107] This embodiment introduces an explicit allocation function:
[0108]
[0109] in:
[0110] Represents the final set of task assignments; a j For robot r j Currently, there are still schedulable slots available; the "unallocated" state is implemented in the system as a task scheduling flag, initialized to False and set to True after allocation; this rule is implemented internally through iterative logic, recording the effective scheduling pairs in each round.
[0111] Example explanation:
[0112] Assume the sorting structure is as follows:
[0113] (t1,r2,s 12 =0.85
[0114] (t2,r2,s 22 =0.81)
[0115] (t1,r3,s 13 =0.76)
[0116] Initial resource status:
[0117] a2 = 1; a3 = 1
[0118] The system processing logic is as follows:
[0119] First, process (t1, r2): t1 is unassigned and a2 > 0 → assign t1 → r2, update a2:= 0;
[0120] Next, process (t2, r2): a2 = 0, skip this step;
[0121] Continue processing (t1, r3): t1 has been assigned, skip;
[0122] Ultimately, only t1→r2 enters. t2 has not yet been assigned and can be added to the backup queue.
[0123] S5. Register the task and corresponding robot assignment relationship to the scheduling and execution system, and trigger the robot to execute the task at the scheduled time.
[0124] The main function of this step is to formally register the task-robot allocation relationship from the previous step (static scheduling binding result) into the scheduling and execution system, and to accurately trigger the robot to execute the task at the appropriate time. Compared to the "directly issue execution commands" or "immediate API push" model in general systems, this step addresses typical problems in RPA task scheduling—such as inconsistent task triggering, delayed task triggering failure, risk of duplicate scheduling, and robot task buffer overflow—by proposing an execution mechanism that combines scheduling state registration, execution consistency identification, dynamic triggering strategies, and scheduling interference suppression. This ensures that task triggering is stable, unique, and traceable in the actual RPA operating environment.
[0125] To ensure that task scheduling is atomic, idempotent, and plan controllable, this embodiment divides the entire task triggering process into two stages: the registration stage and the triggering stage.
[0126] 1. Registration stage:
[0127] The system first assigns each scheduling pair (t) i ,r j Construct a scheduling execution record object, containing:
[0128] `task_id` represents a unique identifier for the task, unique within the system; `robot_id` represents a unique identifier for the robot; `trigger_time` represents the planned trigger time of the task, originating from... The scheduling time field in the table is considered to be executed immediately if it is empty; payload represents the task parameter body, which includes the execution context such as OCR template and path; dispatch_channel represents the scheduling source identifier, such as "RPA_CORE_STATIC_V1"; consistency_hash represents the scheduling consistency hash calculated by the system, which is used to prevent scheduling duplication in the future.
[0129] This embodiment generates the following unique and consistent identifier for the scheduled task:
[0130] h i =Hash(t) i ||r j ||trigger i ||payload i ||σ i (9)
[0131] in:
[0132] h i Task t i Consistent hashing of the schedule; trigger i The task's preset trigger timestamp; payload i : Task execution context information; σ i : System-level scheduling version signature string (used for cross-version backtracking), such as "RPA_V3_SIG"; after concatenating all fields, the result is passed to a hash function (such as SHA-256) to obtain a 256-bit hash value;
[0133] This value will be written to the task_dispatch_log table in the scheduling database as the unique binding value for the task, and will also be written to the robot execution request header for execution feedback comparison.
[0134] 2. Triggering Phase:
[0135] To support a hybrid triggering mechanism that combines immediate and scheduled tasks, this step designs a triggering and scheduling formula with a load suppression function. This formula is used to determine whether to trigger the task immediately or delay the triggering when the scheduled time is approaching, in order to adapt to the "sudden backlog" phenomenon that may occur in the robot task queue.
[0136] This embodiment defines task t i At scheduling time t now Triggering evaluation function P i :
[0137]
[0138] in:
[0139] P i Indicates the priority score for task triggering; : Has the current time reached the scheduled task time (Boolean indicator function); j Indicates the current robot r j The number of tasks currently executing is derived from the scheduling status database; c j This represents the robot's maximum concurrency capability; α is the time satisfaction weight (recommended to be set to 1.0), and β is the load penalty (recommended to be set to 0.5); where if P i A value greater than 0 indicates that the current task meets the time requirement and the robot's load allows for immediate execution, in which case the task is pushed to the robot's task execution queue. Otherwise, the task enters a short-delay queue (generally re-evaluated after a delay of 10-30 seconds) to avoid instantaneous robot overload or scheduling congestion.
[0140] By introducing this lightweight scheduling interference suppression formula, the system can achieve:
[0141] The task scheduling achieves a balance between "immediacy" and "controllability"; the robot's load status is naturally reflected in the scheduling strategy; and the phenomenon of "scheduling breakdown" (multiple high-priority tasks being pushed to the same robot at the same time) is avoided.
[0142] 3. Task push execution:
[0143] Tasks that meet the criteria are sent by the system to the robot scheduling interface POST / robot / {r_j} / task_trigger, pushing a JSON request body containing the task ID, execution parameters, execution path, and h. i Verify fields such as hash. After verifying the consistency hash, the robot adds the task to the execution queue and returns the execution status such as RECEIVED, DUPLICATE, or INVALID.
[0144] Step S5 ultimately outputs two structures, which serve as the task push and monitoring interfaces provided by the scheduling and control component:
[0145] Consistent scheduling hash list Used for interface receipts and subsequent verification;
[0146] Scheduling trigger state table ε={(t i ,r j status i ,P i )}, where status i This represents the current triggered state of the task, with values of TRIGGERED|DELAYED|FAILED; P i The value of the scheduling suppression function is calculated, and the trigger priority is recorded.
[0147] These two structures will be integrated into the log storage system and the scheduling and monitoring system, serving as markers for the entire system task lifecycle.
[0148] like Figure 2 As shown, another embodiment of the present invention provides an automated task intelligent allocation system based on robot state perception, characterized in that it includes:
[0149] The data acquisition module is used to obtain the list of tasks currently to be scheduled by the robot through the task scheduling front-end interface and collect the running status information of all robots. The running status information includes robot online information, the number of tasks currently being executed, the robot's maximum concurrent task capacity, and the number of remaining task bits of the robot. The module marks the robots that meet the current scheduling conditions and outputs a set of schedulable robots.
[0150] The task adaptability calculation module is used to filter all robots that meet the scheduling conditions from the set of schedulable robots, construct a set of candidate robots for tasks, and calculate the scheduling adaptability of each task and its corresponding task type code by constructing a scoring function. The scoring function is calculated by the number of idle tasks of the robot, the estimated time to complete the task, the number of tasks currently assigned to the robot, the robot's maximum concurrency capability, and the task priority.
[0151] The task allocation module is used to introduce a ranking driving factor to construct a final ranking scoring function based on the scoring function, calculate the final ranking score for all robots for each task, sort the final ranking scores from high to low, and select the robot with the highest final ranking score for each task to be allocated, until all tasks are scheduled or robot resources are exhausted.
[0152] The task scheduling and output module is used to convert the sorting result of the final sorting score into an actual task scheduling binding relationship, and assign each task to the robot with the highest final sorting score to form the final scheduling result.
[0153] The task triggering and execution module is used to register the assignment relationship between tasks and corresponding robots to the scheduling and execution system, and to trigger the robot to execute the task at the scheduled time.
[0154] Figure 3 This is a structural block diagram of an electronic device provided as an embodiment of this application. Figure 3 As shown, the electronic device 900 may include one or more of the following components: processor 901, memory 902, and communication interface 903. The processor 901, memory 902, and communication interface 903 are interconnected and perform communication between them. The memory 902 may store one or more computer programs, which may be configured to implement the methods described in the above embodiments when executed by one or more processors 901.
[0155] Processor 901 may include one or more processing cores. Processor 901 connects to various parts within the electronic device 900 using various interfaces and lines, and performs various functions and processes data of the electronic device 900 by running or executing instructions, programs, code sets, or instruction sets stored in memory 902, and by calling data stored in memory 902. Optionally, processor 901 may be implemented using at least one hardware form of Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array (PLA). Processor 901 may integrate one or more of a Central Processing Unit (CPU), Graphics Processing Unit (GPU), and modem. It is understood that the aforementioned modem may also not be integrated into processor 901, but may be implemented separately through a communication chip.
[0156] The memory 902 may include random access memory (RAM) or read-only memory (ROM). The memory 902 can be used to store instructions, programs, code, code sets, or instruction sets. The memory 902 may include a program storage area and a data storage area. The program storage area may store instructions for implementing an operating system, instructions for implementing at least one function (such as touch functionality, sound playback functionality, image playback functionality, etc.), and instructions for implementing the various method embodiments described above. The data storage area may also store data created by the electronic device 900 during use.
[0157] It is understood that the electronic device 900 may include more or fewer structural elements than those shown in the above block diagram, such as a power module, physical buttons, a WiFi (Wireless Fidelity) module, a speaker, a Bluetooth module, sensors, etc., without limitation.
[0158] The aforementioned electronic device 900 may be a testing device or a part of a testing device.
[0159] This application provides a computer-readable storage medium storing program data. When executed by a processor, the program data is used to perform some or all of the steps of any of the multi-node cooperative airspace control methods for urban low-altitude traffic described in the above method embodiments.
[0160] This application also provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps of any of the multi-node cooperative airspace control methods for urban low-altitude traffic described in the above method embodiments. This computer program product can be a software installation package.
[0161] It should be noted that the workflow described above is merely illustrative and does not limit the scope of protection of this invention. In practical applications, those skilled in the art can select some or all of the workflow to achieve the purpose of this embodiment according to actual needs, and no restrictions are imposed here.
[0162] In addition, for technical details not described in detail in this embodiment, please refer to the parameter operation method provided in any embodiment of the present invention, which will not be repeated here.
[0163] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or system. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or system that includes that element.
[0164] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as read-only memory / random access memory, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of the present invention.
[0165] The above are merely preferred embodiments of the present invention and do not limit the scope of the patent. Any equivalent structural or procedural transformations made based on the description and drawings of the present invention, or direct or indirect applications in other related technical fields, are similarly included within the scope of patent protection of the present invention.
Claims
1. An automated task intelligent allocation method based on robot state perception, characterized in that, Includes the following steps: The task scheduling front-end interface is used to obtain the list of tasks currently to be scheduled for the robot and collect the running status information of all robots. The running status information includes the robot's online information, the number of tasks currently being executed, the robot's maximum concurrent task capacity, and the number of remaining task bits for the robot. Robots that meet the current scheduling conditions are marked and a set of schedulable robots is output. For any task, select all robots that meet the scheduling conditions from the set of schedulable robots to construct a set of candidate robots for the task; for each task and its corresponding task type code, calculate the scheduling suitability of the task to be assigned to the corresponding robot by constructing a scoring function. The scoring function is calculated by the number of idle tasks currently available on the robot, the estimated time to complete the task, the number of tasks currently assigned to the robot, the robot's maximum concurrency capability, and the task priority. Based on the scoring function, a ranking driving factor is introduced to construct a final ranking scoring function. The final ranking score for all robots is calculated for each task. The final ranking scores are sorted from high to low. The robot with the highest final ranking score is selected for each task and assigned until all tasks are scheduled or robot resources are exhausted. Based on the ranking results of the final ranking scores, the actual task scheduling binding relationship is converted, and each task is assigned to the robot with the highest final ranking score to form the final scheduling result; The task and corresponding robot assignment relationship is registered in the scheduling and execution system, and the robot is triggered to execute the task at the scheduled time.
2. The automated task intelligent allocation method based on robot state perception according to claim 1, characterized in that, Each task in the current list of tasks to be scheduled includes a task priority, an estimated execution time, and a task type code.
3. The automated task intelligent allocation method based on robot state perception according to claim 1, characterized in that, The conditions for a robot to meet the scheduling criteria are that the robot is online and the number of remaining task bits is greater than zero. The value of the number of remaining task bits is equal to the difference between the robot's maximum concurrent task capacity and the number of tasks currently being executed. If the above conditions cannot be met simultaneously, it means that the robot does not meet the scheduling criteria.
4. The automated task intelligent allocation method based on robot state perception according to claim 1, characterized in that, The factors influencing the scoring function include the robot's remaining task receiving capacity, the robot's load status, and the urgency of the task. The higher the robot's current remaining task receiving capacity, the higher the scheduling priority; the higher the robot's load status, the lower the scheduling priority; the more urgent the task, the higher the priority and the higher the corresponding score.
5. The automated task intelligent allocation method based on robot state perception according to claim 1, characterized in that, The final ranking scoring function includes a resource scarcity penalty factor and a task redundancy penalty term. The resource scarcity penalty factor is used to allocate short tasks or low-priority tasks when the number of idle tasks of a robot is lower than a preset threshold, so as to avoid high-priority tasks being stuck in an unexecutable state for a short period of time. The task redundancy penalty term is used to prioritize the processing of tasks with fewer candidate robots when a task has multiple robot candidates, so as to prevent the scheduling resources from being crowded out.
6. The automated task intelligent allocation method based on robot state perception according to claim 1, characterized in that, In the process of selecting the robot with the highest final ranking score for each task, if there is a situation where a task has not been assigned, and the remaining task receiving capacity of the robot is greater than zero, then the task will be assigned to a robot with a remaining task receiving capacity greater than zero, and the task will be marked as assigned and will no longer participate in subsequent scheduling.
7. The automated task intelligent allocation method based on robot state perception according to claim 1, characterized in that, When the robot's remaining task receiving capacity is zero, the robot is removed from the task allocation process; at the end of the task allocation, the set of completed task-robot allocation pairs is output. A trigger evaluation function is constructed at the scheduling time to calculate the task trigger priority score, which is used to determine whether to trigger the task immediately or delay its triggering. The specific steps are as follows: When the task trigger priority score is greater than zero, it means that the current task meets the time requirement and the robot's load allows for immediate execution, and the task is pushed to the task execution queue on the robot side; otherwise, the task enters the short-time delay queue for delayed triggering to avoid instantaneous robot overload or scheduling congestion.
8. An automated task intelligent allocation system based on robot state perception, characterized in that, include: The data acquisition module is used to obtain the list of tasks currently to be scheduled by the robot through the task scheduling front-end interface and collect the running status information of all robots. The running status information includes robot online information, the number of tasks currently being executed, the robot's maximum concurrent task capacity, and the number of remaining task bits of the robot. The module marks the robots that meet the current scheduling conditions and outputs a set of schedulable robots. The task adaptability calculation module is used to filter all robots that meet the scheduling conditions from the set of schedulable robots, construct a set of candidate robots for tasks, and calculate the scheduling adaptability of each task and its corresponding task type code by constructing a scoring function. The scoring function is calculated by the number of idle tasks of the robot, the estimated time to complete the task, the number of tasks currently assigned to the robot, the robot's maximum concurrency capability, and the task priority. The task allocation module is used to introduce a ranking driving factor to construct a final ranking scoring function based on the scoring function, calculate the final ranking score for all robots for each task, sort the final ranking scores from high to low, and select the robot with the highest final ranking score for each task to be allocated, until all tasks are scheduled or robot resources are exhausted. The task scheduling and output module is used to convert the sorting result of the final sorting score into an actual task scheduling binding relationship, and assign each task to the robot with the highest final sorting score to form the final scheduling result. The task triggering and execution module is used to register the assignment relationship between tasks and corresponding robots to the scheduling and execution system, and to trigger the robot to execute the task at the scheduled time.
9. An electronic device, characterized in that, The device includes: The processor, the memory, and the communication interface are interconnected and perform communication between them. The memory stores executable program code, and the communication interface is used for wireless communication. The processor is configured to retrieve the executable program code stored in the memory and execute the method as described in any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, A computer program for storing electronic data interchange, wherein the computer program causes a computer to perform the method as described in any one of claims 1-7.
Citation Information
Cited By
Computing power resource scheduling method and device for robot cluster and computer equipment
CN121301033A
Intelligent decision-making task scheduling method and device and storage medium
CN121614241A