A task arrangement method, device and equipment and storage medium

By reordering the execution order of subtasks and utilizing the idle time of task waiting to execute other tasks, the problem of underutilization of device idle state is solved, and task execution time is shortened.

CN116749179BActive Publication Date: 2026-02-17HANGZHOU ROBOCT TECH DEV CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310672764.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-07
Publication Date
2026-02-17
Estimated Expiration
2043-06-07

AI Technical Summary

Technical Problem

When existing robots perform tasks, the idle state of the equipment is not fully utilized, resulting in excessively long task execution time.

Method used

By reordering the execution order of subtasks, other tasks can be executed during the idle time while tasks are waiting, thereby reducing the total execution time of tasks.

Benefits of technology

It effectively utilizes the equipment's idle time, shortening the total execution time of the task.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116749179B_ABST
    Figure CN116749179B_ABST
Patent Text Reader

Abstract

The application relates to a task arrangement method, device and equipment and a storage medium, the task arrangement method comprising the following steps: obtaining a plurality of to-be-executed tasks; each to-be-executed task comprises a plurality of to-be-executed subtasks; establishing a function graph according to the plurality of to-be-executed tasks and a first execution sequence of the plurality of to-be-executed tasks; a node of the function graph is used for identifying the to-be-executed subtasks, and an arrangement sequence of the node of the function graph is used for identifying the first execution sequence; sorting the node of the function graph according to task information of the to-be-executed subtasks to generate a second execution sequence; the task information comprises waiting time after the to-be-executed subtasks are executed; and the to-be-executed subtasks are executed according to the second execution sequence. Through the application, the problem that the idle state of equipment cannot be fully utilized in the prior art, thereby leading to a long task execution time, is solved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computers, and in particular to a task arrangement method and device, equipment and a storage medium. BACKGROUND

[0002] In the prior art, when a robot executes a task, the robot controls a mechanical arm to execute the task according to the time sequence of the task. In the field of experiments, a plurality of indexes usually need to be tested, and each index corresponds to an experimental process task. The experimental process task is usually decomposed into a plurality of subtasks for execution. For example, the experimental process task is decomposed into a plurality of subtasks such as sampling, high-temperature pressurization, cooling, shaking, value display and output according to functions, and each subtask is executed according to the time sequence. However, a period of time is usually required for waiting between two subtasks, such as a period of time required for waiting between the cooling subtask and the shaking subtask. During this period of time, the equipment is in an idle state. If a plurality of indexes need to be tested at the same time, the idle state of the equipment cannot be fully utilized, thereby resulting in a long execution time of the entire task. SUMMARY

[0003] A task arrangement method, device, equipment and storage medium are provided in the present embodiment.

[0004] In a first aspect, a task arrangement method is provided in the present embodiment, and the method comprises:

[0005] obtaining a plurality of to-be-executed tasks; each to-be-executed task comprises a plurality of to-be-executed subtasks;

[0006] establishing a function graph according to the plurality of to-be-executed tasks and a first execution order of the plurality of to-be-executed tasks; a node of the function graph is used to identify a to-be-executed subtask, and an arrangement order of the node of the function graph is used to identify the first execution order;

[0007] sorting the nodes of the function graph according to task information of the to-be-executed subtasks to generate a second execution order; the task information comprises a waiting time after the to-be-executed subtask is executed;

[0008] executing the to-be-executed subtasks according to the second execution order.

[0009] In some embodiments, the task information comprises a first execution time of the to-be-executed subtask.

[0010] In some embodiments, the sorting the nodes of the function graph according to the task information of the to-be-executed subtasks to generate the second execution order comprises:

[0011] According to the first execution time of the to-be-executed subtask and the waiting time after executing the to-be-executed subtask, the nodes of the function graph are sorted to obtain a third execution order;

[0012] The second execution time of the to-be-executed subtask performing task execution according to the third execution order is calculated.

[0013] According to the second execution time, the second execution order is determined.

[0014] In some embodiments, according to the first execution time of the to-be-executed subtask and the waiting time after executing the to-be-executed subtask, the nodes of the function graph are sorted to obtain a third execution order, including:

[0015] According to the first execution time of the to-be-executed subtask, the waiting time after executing the to-be-executed subtask, and the first execution order, the nodes of the function graph are sorted by using a Monte Carlo algorithm to obtain a third execution order.

[0016] In some embodiments, according to the second execution time, the second execution order is determined, including:

[0017] When the second execution time is less than a preset time, it is determined that the third execution order corresponding to the second execution time is the second execution order.

[0018] Or, when the number of iterations of the Monte Carlo algorithm reaches a preset number, it is determined that the third execution order is the second execution order.

[0019] In some embodiments, the second execution time of the to-be-executed subtask performing task execution according to the third execution order is calculated, including:

[0020] A marker field is established; the marker field is used to record the task execution time.

[0021] According to the third execution order, the task information of the to-be-executed subtask is used to perform time length assignment on the marker field.

[0022] According to the total time length of the marker field, the second execution time is determined.

[0023] In some embodiments, according to the second execution order, the to-be-executed subtask is executed, including:

[0024] According to the second execution order, a task arrangement table of the to-be-executed subtask is determined.

[0025] According to the task arrangement table, the to-be-executed subtask is executed.

[0026] In a second aspect, a task arrangement device is provided in the embodiment, and the device includes:

[0027] obtain a plurality of tasks to be executed; each of the tasks to be executed comprises a plurality of subtasks to be executed;

[0028] establish a function graph according to the plurality of tasks to be executed and a first execution order of the plurality of tasks to be executed; a node of the function graph is used to identify a subtask to be executed, and an arrangement order of the node of the function graph is used to identify the first execution order;

[0029] sort the nodes of the function graph according to task information of the subtasks to be executed, to generate a second execution order; the task information comprises a waiting time after the subtask to be executed is executed;

[0030] execute the subtasks to be executed according to the second execution order.

[0031] In a third aspect, a task arrangement device is provided in the embodiment. The device comprises a control unit and an execution unit.

[0032] The control unit is configured to execute the task arrangement method of any one of the first aspect.

[0033] The execution unit is configured to execute corresponding operations according to instructions of the control unit.

[0034] In a fourth aspect, a computer readable storage medium is provided in the embodiment. The computer readable storage medium stores a computer program. When the computer program is executed by a processor, the steps of the task arrangement method of any one of the first aspect are implemented.

[0035] Compared with the prior art, the task arrangement method, device, equipment and storage medium provided in the embodiment can reorder the nodes of the function graph according to the task information of the subtasks, so as to execute other tasks by using the idle time of task waiting, reduce the total execution time of the tasks, and solve the problem that the idle state of the device is not fully utilized in the prior art, thereby causing the entire task execution time to be too long.

[0036] Details of one or more embodiments of the present application are presented in the following drawings and description to make other features, objects and advantages of the present application more clear and easy to understand. BRIEF DESCRIPTION OF DRAWINGS

[0037] The drawings described herein are used to provide further understanding of the present application, and form a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application, and do not constitute an improper limitation on the present application. In the drawings:

[0038] Figure 1 is a hardware structure block diagram of a terminal for executing a task arrangement method of the embodiment of the present application;

[0039] Figure 2 This is a flowchart of a task scheduling method according to an embodiment of this application;

[0040] Figure 3 This is a schematic diagram of a functional map according to an embodiment of this application;

[0041] Figure 4 This is a structural block diagram of a task scheduling device according to an embodiment of this application. Detailed Implementation

[0042] To better understand the purpose, technical solution, and advantages of this application, the application is described and illustrated below in conjunction with the accompanying drawings and embodiments.

[0043] Unless otherwise defined, the technical or scientific terms used in this application shall have the general meaning as understood by one of ordinary skill in the art to which this application pertains. Words such as “a,” “an,” “an,” “the,” “the,” and “these,” used in this application, do not indicate quantitative limitation and may be singular or plural. The terms “comprising,” “including,” “having,” and any variations thereof used in this application are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or device that comprises a series of steps or modules (units) is not limited to the listed steps or modules (units) but may include steps or modules (units) not listed, or may include other steps or modules (units) inherent to such processes, methods, products, or devices. The terms “connected,” “linked,” and “coupled,” used in this application, are not limited to physical or mechanical connections but may include electrical connections, whether direct or indirect. The term “multiple” used in this application refers to two or more. The "and / or" operator describes the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: A alone, A and B simultaneously, and B alone. Typically, the character " / " indicates that the objects before and after it are in an "or" relationship. The terms "first," "second," and "third," etc., used in this application are merely for distinguishing similar objects and do not represent a specific ordering of the objects.

[0044] The method embodiments provided in this example can be executed on a terminal, computer, or similar computing device. For example, it can run on a terminal. Figure 1 This is a hardware structure block diagram of a terminal executing a task scheduling method according to an embodiment of this application. For example... Figure 1 As shown, a terminal may include one or more ( Figure 1The terminal shown in the figure only includes one processor 102 and a memory 104 for storing data, wherein the processor 102 can include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA. The terminal can also include a transmission device 106 for communication function and an input and output device 108. Those skilled in the art can understand that Figure 1 The structure shown in the figure is only schematic and does not limit the structure of the terminal. For example, the terminal can include more or fewer components than those shown in the figure, or have a different configuration from that shown in the figure. Figure 1 The terminal shown in the figure only includes one processor 102 and a memory 104 for storing data, wherein the processor 102 can include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA. The terminal can also include a transmission device 106 for communication function and an input and output device 108. Those skilled in the art can understand that Figure 1 The structure shown in the figure is only schematic and does not limit the structure of the terminal. For example, the terminal can include more or fewer components than those shown in the figure, or have a different configuration from that shown in the figure.

[0045] The memory 104 can be used to store computer programs, such as software programs of application software and modules, such as a computer program corresponding to a task arrangement method in the embodiment. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, implements the method described above. The memory 104 can include a high-speed random access memory and can also include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some examples, the memory 104 can further include a memory remotely arranged with respect to the processor 102, and these remote memories can be connected to the terminal through a network. Examples of the network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.

[0046] The transmission device 106 is used to receive or send data via a network. The network includes a wireless network provided by a communication provider of the terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, NIC for short), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (Radio Frequency, RF for short) module, which is used to communicate with the Internet in a wireless manner.

[0047] In the embodiment, a task arrangement method is provided, Figure 2 A flowchart of the task arrangement method of the embodiment is shown in the figure, Figure 2 The flow includes the following steps:

[0048] In step S210, a plurality of to-be-executed tasks are acquired; each to-be-executed task includes a plurality of to-be-executed subtasks.

[0049] Specifically, the controller acquires a plurality of tasks to be executed, each of which includes a plurality of sub-tasks to be executed. Exemplarily, the controller herein can be a CPU (Central Processing Unit), an FPGA (Field Programmable Gate Array), an MCU (Microcontroller Unit), a single-chip microcomputer, and the like, which is not specifically limited herein.

[0050] In step S220, a function graph is established according to the plurality of tasks to be executed and the first execution order of the plurality of tasks to be executed; a node of the function graph is used to identify a sub-task to be executed, and an arrangement order of the node of the function graph is used to identify the first execution order.

[0051] Specifically, the controller establishes a function graph according to the plurality of tasks to be executed and the first execution order of the plurality of tasks to be executed. The first execution order herein can be a logical order of the plurality of tasks to be executed, or a time order of the plurality of tasks to be executed.

[0052] In step S230, the nodes of the function graph are sorted according to task information of the sub-tasks to be executed, to generate a second execution order; the task information includes a waiting time after the sub-task to be executed is executed.

[0053] Specifically, the controller reorders the nodes of the function graph according to the task information of the sub-tasks to be executed, and generates a second execution sequence. For example, for a plurality of tasks to be executed, such as task A, task B, and task C, each of which usually includes a plurality of sub-tasks to be executed, such as task A including sub-task A1, sub-task A2, sub-task A3, sub-task A4, and sub-task A5, task B including sub-task B1, sub-task B2, sub-task B3, and sub-task B4, and task C including sub-task C1, sub-task C2, and sub-task C3, the first execution sequence of the plurality of tasks to be executed is A1→A2→A3→A4→A5→B1→B2→B3→B4→C1→C2→C3. Usually, there is a certain waiting time between sub-tasks, such as waiting for a certain time T1 after executing sub-task A2, and then executing sub-task A3, or waiting for a certain time T2 after executing sub-task B3, and then executing sub-task B4. During the time T1 and the time T2, the controller is in an idle state. According to the task information of the sub-tasks to be executed, the task information including the waiting time after executing the sub-tasks to be executed, the nodes of the function graph are reordered, that is, the first execution sequence is reordered to generate a second execution sequence, such as the second execution sequence of the plurality of tasks to be executed being A1→A2→B1→A3→A4→A5→B2→B3→C1→B4→C2→C3. It should be noted that the first execution sequence and the second execution sequence can be the same or different, and usually the second execution sequence is different from the first execution sequence.

[0054] In step S240, the sub-tasks to be executed are executed according to the second execution sequence.

[0055] Specifically, the controller executes all the sub-tasks to be executed of the tasks to be executed according to the second execution sequence generated in step S230.

[0056] In this embodiment, by reordering the nodes of the function graph according to the task information of the sub-tasks, the idle time of the task waiting is utilized to execute other tasks, the total execution time of the tasks is reduced, and the problem that the idle state of the device is not fully utilized in the prior art, resulting in a long execution time of the entire task, is solved.

[0057] In some embodiments, the task information includes the first execution time of the sub-tasks to be executed, and step S230 of sorting the nodes of the function graph according to the task information of the sub-tasks to be executed to generate a second execution sequence includes: sorting the nodes of the function graph according to the first execution time of the sub-tasks to be executed and the waiting time after executing the sub-tasks to be executed to obtain a third execution sequence; calculating a second execution time of the sub-tasks to be executed according to the third execution sequence; and determining the second execution sequence according to the second execution time.

[0058] In some embodiments, the nodes of the functional graph are sorted according to the first execution time of the subtask to be executed and the waiting time after executing the subtask to be executed to obtain a third execution order. This includes: using the Monte Carlo algorithm to sort the nodes of the functional graph according to the first execution time of the subtask to be executed, the waiting time after executing the subtask to be executed, and the first execution order to obtain a third execution order.

[0059] In some embodiments, determining the second execution order based on the second execution time includes: when the second execution time is less than a preset time, determining the third execution order corresponding to the second execution time as the second execution order.

[0060] Specifically, the second execution time required for the subtask to be executed according to the third execution order is calculated. When the second execution time is less than the preset time, the third execution order corresponding to the second execution time is determined as the second execution order, and the time corresponding to the second execution order is the optimal time distribution.

[0061] In some embodiments, determining the second execution order based on the second execution time includes: when the number of iterations of the Monte Carlo algorithm reaches a preset number, determining the third execution order as the second execution order.

[0062] Specifically, based on the first execution time of the subtask to be executed, the waiting time after executing the subtask to be executed, and the first execution order, the nodes of the functional graph are sorted using the Monte Carlo algorithm to obtain the third execution order. Based on the time results and the optimal time distribution, the particle distribution range of the Monte Carlo algorithm is narrowed down and iterated to obtain the shortest execution time. When the number of iterations of the Monte Carlo algorithm reaches the preset number, the third execution order corresponding to the current iteration cycle is determined as the second execution order, and the time corresponding to the second execution order is the optimal time distribution.

[0063] In some embodiments, calculating the second execution time of the subtask to be executed according to the third execution order includes: establishing a marker field; the marker field is used to record the task execution time; according to the third execution order, the marker field is assigned a time length using the task information of the subtask to be executed; and the second execution time is determined according to the total time length of the marker field.

[0064] In some embodiments, executing a subtask to be executed according to a second execution order includes: determining a task schedule for the subtask to be executed according to the second execution order; and executing the subtask to be executed according to the task schedule.

[0065] Specifically, the controller determines the task schedule of the subtasks to be executed according to the second execution order, and then executes the subtasks to be executed according to the task schedule.

[0066] This embodiment provides a task scheduling device, which includes: a control unit and an execution unit;

[0067] The control unit is used to execute the task arrangement method described in the foregoing embodiments; the execution unit is used to execute corresponding operations according to the instructions of the control unit.

[0068] The embodiments of this application will be described and explained below using instruments and equipment as specific examples.

[0069] The alpha instrument inputs each test procedure through the main control screen. The main control unit of the alpha instrument transmits control commands to the PLCs (Programmable Logic Controllers) in the electrical cabinet. After parsing, the PLCs control the actuators to perform the actions. The main working areas of the alpha instrument include the stopper placement area, mixing area, indicator bottle placement area, shaking area, guide rail assembly, high-pressure bottle area, high-temperature pressurization area, reagent dispensing area, and indicator area. During the test operation, after receiving the sample to be tested, the operator places the sample in the sample display positions 1 to N. The alpha instrument can read RFID (Radio Frequency Identification) information and automatically output the test procedure, and it also has the ability to manually arrange the test procedure through the interactive interface.

[0070] Click to start the experiment, and the α instrument will execute the experimental procedure according to the experimental task. It has the ability to precisely control the high-temperature pressurization time, cooling time, and color development time of each high-pressure bottle, ensuring consistency in the high-temperature pressurization time, cooling time, and indication time for the same indicator in each tube, and ensuring the consistency of the high-temperature pressurization of the high-temperature pressurizer. Because the α instrument's working area (bottle stopper placement area, mixing area, indication bottle placement area, high-pressure bottle area, and high-temperature pressurization area) can simultaneously hold multiple targets, and the number of targets that can be placed varies, and the shaking area, guide rail assembly, reagent dispensing area, and indication area are exclusive, each area has different spatial attributes, and the waiting time for each target in each area also varies. When the α instrument is running, if the tasks are arranged reasonably, the overall experimental time can be reduced and the experimental efficiency improved while allowing different targets to be placed simultaneously. Since the operations required for each experimental indicator are different, meaning the space occupied is different, and the duration of each space area is also different, different sequences of execution of different tasks result in different overall experimental times. To obtain the optimal experimental time, two problems need to be solved: 1. How to obtain the shortest operation time under the same experimental sequence. 2. Obtain the shortest time ranking for different test sequences.

[0071] To obtain data on different workspace occupancy and time parameters, the experimental procedure was first broken down. To determine the operation with the shortest execution time within the same experimental sequence, such as... Figure 3 The functional graph method is used for calculation. Each test procedure is treated as a 1xN vector, where N is its total execution time in seconds. Each test procedure contains multiple functions, each with a fixed duration and varying workspace usage at different times. During execution, each node is assigned a value based on its execution action. Figure 3 As shown, there are five experimental tasks: Experiment A, Experiment B, Experiment C, Experiment D, and Experiment E. Each task includes sampling, high-temperature pressurization, cooling, homogenization, value indication, and output.

[0072] Experimental method A includes the following sub-tasks: no-indication test sample (guide rail assembly), reagent 1-1 dosage (reagent dispensing area), opening the high-pressure bottle cap (stopper placement area), high-pressure bottle sampling dosage (guide rail assembly), high-temperature pressurization time (high-temperature pressurization area), first cooling (high-pressure bottle area), mixing (mixing area), second cooling (high-pressure bottle area), color development time (indication area), and outputting measurement results.

[0073] Experimental method B includes the following sub-tasks: no-indication test sample (guide rail assembly), reagent 1-1 dosage (reagent dispensing area), high-pressure bottle cap opening (stopper placement area), high-pressure bottle sampling dosage (guide rail assembly), high-temperature pressurization time (high-temperature pressurization area), first cooling (high-pressure bottle area), mixing (mixing area), second cooling (high-pressure bottle area), and outputting measurement results.

[0074] Experimental method C includes the following sub-tasks: test sample without indication (guide rail assembly), high-pressure bottle sampling volume (guide rail assembly), reagent dripping and shaking (shaking area), color development time (indication area), and output measurement results.

[0075] The experimental method settings include: no-indication test sample (guide rail assembly), high-pressure bottle sampling volume (guide rail assembly), high-temperature pressurization time (high-temperature pressurization zone), one cooling (high-pressure bottle zone), reagent dripping and shaking (shaking zone), color development time (indication zone), and output measurement results.

[0076] Experimental method setup includes: no-indication test sample (guide rail assembly), high-pressure bottle sampling volume (guide rail assembly), high-temperature pressurization time (high-temperature pressurization zone), one cooling (high-pressure bottle zone), reagent dripping and shaking (shaking zone), color development time (indication zone), and output measurement results.

[0077] Through a human-computer interface, the system obtains parameters (sampling volume, high-pressure bottle arrangement, high-temperature pressurization temperature, etc.) for the required test indicators (A, B, C, D, E, etc.) of different test samples, as well as settings such as whether each test indicator requires manual sampling. The system automatically generates a functional diagram initialization configuration. Based on prior experience with single-sample, single-indicator tests, each test procedure is divided into functions such as high-temperature pressurization, cooling, inversion, secondary cooling, reagent dispensing, and value indication. These functions have a sequential execution relationship, but there is a fixed time interval between each pair of functions. Each function has its own operating parameters (workbench workspace occupancy, robotic arm occupancy time, total running time, etc.), and these parameters vary depending on the initialization settings. Finally, a functional diagram of all functions required for a single test is generated. The functional diagram contains the α instrument's operating code, allowing the tester to fine-tune each function's operating code as needed and convert it into a visual execution process.

[0078] When sorting experimental procedures using functional map classification, procedures with the same functional label are treated as the same type, reducing the number of possible combinations. Since there are a large number of combinations, an adaptive Monte Carlo algorithm, combined with image interpretation, is used to obtain the task arrangement with the shortest time. Using the adaptive Monte Carlo algorithm, some particles are first selected globally for arrangement.

[0079] After obtaining the functional map, each test process is regarded as a 1xN vector, where N is its total execution time in seconds. Each test process contains multiple functions, i.e. multiple subtasks. The duration of each function is determined. During its execution, each node is assigned a value according to its execution action.

[0080] A marker field with automatically increasing length and height is established. Each experimental procedure is input sequentially, assigning values ​​to the marker field from left to right. If a marker field within an integer vector interval has not been previously assigned a value, it is assigned a value directly; otherwise, if it can be occupied, it is assigned a value downwards. A marker for that procedure is simultaneously added during the assignment. If the assignment for an entire procedure fails, the marker field moves forward, increasing its width. The final total width value represents the total time required for the experiment. Based on the time results and the optimal time distribution, the particle distribution range is narrowed, and iterations are performed to obtain the shortest execution time. For example, the subtasks included in the experimental procedures of samples A and B are shown in Table 1.

[0081] Table 1. Test procedures for Sample A and Sample B

[0082]

[0083] In Table 1, each row contains subtasks with the same function, such as subtasks AA3, AB3, AC3, AD3, AE3, BA3, BB3, and BC3, all of which involve high-temperature pressurization or cooling. An adaptive Monte Carlo algorithm is used to sort the experimental procedures for samples A and B, generating corresponding labeled fields. For example, labeled field 1 is generated as follows: AA1→BA1→BA2→BB1→BB2→AA2→……→AA5→BC5; labeled field 2 as follows: BA1→BA2→AB1→AD1→BC1→……→AC5→BB5; labeled field 3 as follows: AC1→AC2→AD1→AD2→AC3→BC1→BC2→……→AE4→AE5→BA5; labeled field N. The time required to execute each experimental task according to the task arrangement order of each labeled field is calculated. The labeled field with the shortest execution time is selected as the optimal labeled field. It can interpret the marked field as an image, turning the marked field into an image, using different colors to mark different code segments, and the length of the image to indicate the execution time of the code segment. It can simulate and see when which action runs.

[0084] Finally, based on the optimal marking field, the optimal task arrangement is obtained and transformed into an alpha instrument arrangement table. The experimental task is then executed. After generating the alpha instrument arrangement table, a time-sequential execution code table for the robot is obtained. The robot, according to the code, translates the actions of each execution component (such as guide rails, gripping mechanisms, cleaning mechanisms, measuring instruments, etc.) into sequential movements to complete the specified experimental steps.

[0085] It should be noted that the steps shown in the above process or in the flowchart of the accompanying figures can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases the steps shown or described may be executed in a different order than that shown here.

[0086] This embodiment also provides a task scheduling device for implementing the above embodiments and preferred embodiments; details already described will not be repeated. The terms "module," "unit," and "subunit," etc., used below refer to combinations of software and / or hardware that implement a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0087] Figure 4 This is a structural block diagram of a task scheduling device according to an embodiment of this application, such as... Figure 4 As shown, the device includes:

[0088] The acquisition module 410 is used to acquire several tasks to be executed; each task to be executed includes several subtasks to be executed.

[0089] Module 420 is used to build a functional graph based on several tasks to be executed and the first execution order of the tasks to be executed; the nodes of the functional graph are used to identify the subtasks to be executed, and the arrangement order of the nodes of the functional graph is used to identify the first execution order;

[0090] The sorting module 430 is used to sort the nodes of the function graph according to the task information of the subtasks to be executed, and generate a second execution order; the task information includes the waiting time after executing the subtasks to be executed.

[0091] The execution module 440 is used to execute the subtasks to be executed according to the second execution order.

[0092] It should be noted that the above modules can be functional modules or program modules, and can be implemented through software or hardware. For modules implemented through hardware, the above modules can reside in the same processor; or the above modules can be located in different processors in any combination.

[0093] This embodiment also provides an electronic device including a memory and a processor, the memory storing a computer program and the processor being configured to run the computer program to perform the steps in any of the above method embodiments.

[0094] Optionally, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.

[0095] Optionally, in this embodiment, the processor can be configured to perform the following steps via a computer program:

[0096] S1: Obtain several tasks to be executed; each task to be executed includes several subtasks to be executed.

[0097] S2, Based on several tasks to be executed and their first execution order, establish a functional graph; the nodes of the functional graph are used to identify the subtasks to be executed, and the order of the nodes in the functional graph is used to identify the first execution order;

[0098] S3, based on the task information of the subtasks to be executed, sort the nodes of the functional graph to generate a second execution order; the task information includes the waiting time after executing the subtasks to be executed.

[0099] S4, according to the second execution order, execute the subtasks to be executed.

[0100] It should be noted that the specific examples in this embodiment can refer to the examples described in the above embodiments and optional implementations, and will not be repeated in this embodiment.

[0101] Furthermore, in conjunction with the task scheduling method provided in the above embodiments, this embodiment can also provide a storage medium for implementation. The storage medium stores a computer program; when executed by a processor, the computer program implements the steps of any of the task scheduling methods in the above embodiments.

[0102] It should be understood that the specific embodiments described herein are merely illustrative of the application and not intended to limit it. All other embodiments derived by those skilled in the art based on the embodiments provided in this application without inventive effort are within the scope of protection of this application.

[0103] Obviously, the accompanying drawings are merely some examples or embodiments of this application. Those skilled in the art can apply this application to other similar situations based on these drawings without any creative effort. Furthermore, it is understood that although the work done in this development process may be complex and lengthy, for those skilled in the art, certain design, manufacturing, or production modifications made based on the technical content disclosed in this application are merely conventional technical means and should not be considered as insufficient disclosure of this application.

[0104] The term "embodiment" in this application refers to a specific feature, structure, or characteristic described in connection with an embodiment that may be included in at least one embodiment of this application. The appearance of this phrase in various places in the specification does not necessarily imply the same embodiment, nor does it imply that it is mutually exclusive with or independent of other embodiments. It will be clearly or implicitly understood by those skilled in the art that the embodiments described in this application may be combined with other embodiments without conflict.

[0105] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of patent protection. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the appended claims.

Claims

1. A method of task arrangement, characterized by, The method comprises: obtaining a plurality of tasks to be executed; each of the tasks to be executed comprises a plurality of sub-tasks to be executed; establishing a function graph according to the plurality of tasks to be executed and a first execution order of the plurality of tasks to be executed; a node of the function graph is used to identify the sub-tasks to be executed, and an arrangement order of the node of the function graph is used to identify the first execution order; sorting the nodes of the function graph according to task information of the sub-tasks to be executed to generate a second execution order; the task information comprises a waiting time after the sub-tasks to be executed are executed; the task information comprises a first execution time of the sub-tasks to be executed; the sorting the nodes of the function graph according to the task information of the sub-tasks to be executed to generate a second execution order comprises: sorting the nodes of the function graph according to the first execution time of the sub-tasks to be executed and the waiting time after the sub-tasks to be executed are executed to obtain a third execution order; calculating a second execution time of the sub-tasks to be executed according to the third execution order; determining the second execution order according to the second execution time; the sorting the nodes of the function graph according to the first execution time of the sub-tasks to be executed and the waiting time after the sub-tasks to be executed are executed to obtain a third execution order comprises: sorting the nodes of the function graph according to the first execution time of the sub-tasks to be executed, the waiting time after the sub-tasks to be executed are executed and the first execution order by using a Monte Carlo algorithm to obtain a third execution order; determining the second execution order according to the second execution time comprises: when the second execution time is less than a preset time, determining that the third execution order corresponding to the second execution time is the second execution order; or when an iteration number of the Monte Carlo algorithm reaches a preset number, determining that the third execution order is the second execution order; executing the sub-tasks to be executed according to the second execution order.

2. The task arrangement method according to claim 1, characterized by, The calculating a second execution time of the sub-tasks to be executed according to the third execution order comprises: establishing a marker field; the marker field is used to record a task execution time; assigning a time length to the marker field according to the third execution order and the task information of the sub-tasks to be executed; determining the second execution time according to a total time length of the marker field.

3. The task arrangement method according to claim 1, characterized by, The executing the sub-tasks to be executed according to the second execution order comprises: determining a task arrangement table of the sub-tasks to be executed according to the second execution order; executing the sub-tasks to be executed according to the task arrangement table.

4. A task arrangement device characterized by comprising: The device comprises: an obtaining module, configured to obtain a plurality of tasks to be executed; each of the tasks to be executed comprises a plurality of sub-tasks to be executed; The establishing module is configured to establish a function graph according to the tasks to be executed and the first execution sequence of the tasks to be executed; a node of the function graph is configured to identify the subtask to be executed, and an arrangement sequence of the node of the function graph is configured to identify the first execution sequence; The sorting module is configured to sort the nodes of the function graph according to task information of the subtasks to be executed to generate a second execution sequence; the task information includes a waiting time after the subtask to be executed is executed; the task information includes a first execution time of the subtask to be executed; the sorting of the nodes of the function graph according to the task information of the subtasks to be executed to generate a second execution sequence includes: sorting the nodes of the function graph according to the first execution time of the subtask to be executed and the waiting time after the subtask to be executed is executed to obtain a third execution sequence; calculating a second execution time of the subtask to be executed according to the third execution sequence; determining the second execution sequence according to the second execution time; the sorting of the nodes of the function graph according to the first execution time of the subtask to be executed and the waiting time after the subtask to be executed is executed to obtain a third execution sequence includes: sorting the nodes of the function graph according to the first execution time of the subtask to be executed, the waiting time after the subtask to be executed is executed and the first execution sequence by using a Monte Carlo algorithm to obtain a third execution sequence; determining the second execution sequence according to the second execution time includes: when the second execution time is less than a preset time, determining that the third execution sequence corresponding to the second execution time is the second execution sequence; or when an iteration number of the Monte Carlo algorithm reaches a preset number, determining that the third execution sequence is the second execution sequence; The execution module is configured to execute the subtasks to be executed according to the second execution sequence.

5. A task arrangement device characterized by comprising: The device includes a control unit and an execution unit; The control unit is configured to perform the task arrangement method in any one of claims 1 to 3; The execution unit is configured to perform corresponding operations according to instructions of the control unit.

6. A computer-readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by a processor to implement steps of the task arrangement method in any one of claims 1 to 3. The computer program is executed by a processor to implement steps of the task arrangement method in any one of claims 1 to 3.

Citation Information

Patent Citations

  • Cooking management method and device, electronic equipment and computer readable storage medium

    CN113919722A

  • Multi-vehicle batch flexible production line scheduling method

    CN115545246A