Scheduling method and system of automated processes, electronic device and storage medium
Patent Information
- Application Number
- CN202311791005.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-22
- Publication Date
- 2026-09-04
- Estimated Expiration
- 2043-12-22
AI Technical Summary
[0003]现有的自动化流程的排程方法均不考虑上述要求次序的场景,因此其排程方法难以应对这些要求次序的场景,造成对设备池的设备操作的分配不合理
[0058] As mentioned earlier, existing scheduling methods for automated processes do not consider scenarios requiring specific order, making them ill-suited for handling such situations and resulting in unreasonable allocation of device operations within the device pool. However, the solution described in this application, based on the obtained ordered operation groups of the automated process, fully considers the pre-required operation order of consumables. Using the first main operation corresponding to multiple consumables as a benchmark, and based on the ordered operation groups and the correspondence between the associated operations of the first main operation and the multiple first consumables, the execution order of each associated operation of each first main operation is accurately determined, thereby achieving precise scheduling of the entire automated process. This solution can achieve accurate scheduling in various scenarios requiring specific order within the automated process. The scheduling logic is simple and reasonable, with a small computational load, resulting in high scheduling efficiency. Therefore, it fully meets the diverse business needs in the automated process, providing a better user experience.
Smart Images

Figure CN117829569B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of automation technology, specifically to a scheduling method for automated processes, a scheduling system for automated processes, an electronic device, and a storage medium. Background Technology
[0002] In the field of automation technology, scheduling of automated processes is frequently involved. When scheduling automated processes, there may be scenarios where a specific order is required. For example, the order in which different consumables enter and exit multiple-input multiple-output (MIMO) devices must meet certain requirements, or the order in which MIMO devices are occupied and released must meet certain requirements.
[0003] Existing scheduling methods for automated processes do not consider scenarios requiring the above-mentioned order, making it difficult for them to handle such scenarios and resulting in unreasonable allocation of device operations to the device pool. Summary of the Invention
[0004] To at least partially address the problems existing in the prior art, according to the first aspect of this application, a scheduling method for automated processes is provided, comprising:
[0005] Obtain an ordered operation group for an automated process, wherein the operations in the ordered operation group are dependent on each other according to the order of execution. The ordered operation group includes at least one main operation and associated operations of the main operation. The main operation is the main functional operation performed by the main equipment in the automated process for the sample carried by the corresponding consumable. The main operation includes a first main operation, which corresponds to multiple first consumables. The associated operations of each main operation include operations executed before or after the main operation and which are dependent on the main operation.
[0006] Based on the ordered operation group, the correspondence between the associated operations of the first main operation and multiple first consumables, and the operation order of the first main operation on multiple first consumables, determine the execution order of the associated operations of the first main operation; and
[0007] The automated process should be scheduled based at least on the determined execution order.
[0008] For example, determining the execution order of associated operations of the first main operation includes:
[0009] Based on the dependencies of serial operations in the ordered operation group, determine the adjacent primary operations of the first primary operation in the ordered operation group;
[0010] Based on the adjacent primary operations, ordered operation groups, and correspondences of the first primary operation, determine the associated operations of the first primary operation; and
[0011] Based on the dependencies, the order of operations performed by the first main operation on multiple first consumables, and the corresponding relationships, the execution order of the associated operations of the first main operation is determined.
[0012] For example, the adjacent main operations of the first main operation include the previous adjacent main operation that is closest to the first main operation and / or the next adjacent main operation that is closest to the first main operation after the first main operation; the associated operations of the first main operation include the previous associated operations and / or the subsequent associated operations; the previous associated operations of the first main operation include operations executed before the first main operation and having a dependency relationship with the first main operation, and the subsequent associated operations of the first main operation include operations executed after the first main operation and having a dependency relationship with the first main operation; both the previous associated operations and the subsequent associated operations of the first main operation correspond to the first consumable.
[0013] For example, determining the associated operation of the first main operation includes:
[0014] Determine the front set consisting of the front associated operations of the first primary operation based on the ordered operation group and the determined front adjacent primary operation, and / or determine the back set consisting of the back associated operations of the first primary operation based on the ordered operation group and the determined back adjacent primary operation;
[0015] Determine the execution order of the associated operations of the first primary operation, including:
[0016] The operations in the front set are sorted according to the dependencies to obtain the pre-initial list of the first main operation and / or the operations in the back set are sorted according to the dependencies to obtain the post-initial list of the first main operation, wherein the order of different operations performed for the same first consumable in the initial list is the same as the dependency.
[0017] Based on the order and correspondence of operations performed on multiple first consumables by the first main operation, the order of operations performed on different first consumables in the pre-initial list and / or post-initial list is updated, resulting in updated pre-list and / or post-lists. In the pre-list and post-list, operations corresponding to the first consumable are listed first, while operations corresponding to the second consumable are listed last.
[0018] The execution order of the preceding associated operations of the first primary operation is determined based on the preceding list and / or the execution order of the following associated operations of the first primary operation is determined based on the following list.
[0019] For example, determining the pre-set consisting of the pre-associated operations of the first master operation includes:
[0020] Traverse the ordered group of operations to determine the first initial set consisting of all preceding operations of the first major operation; and
[0021] Add the operation corresponding to the first consumable in the subsequent operation of the first main operation adjacent to the first main operation to the first initial set to obtain the previous set;
[0022] and / or
[0023] Determine the post-set consisting of the post-associative operations of the first primary operation, including:
[0024] Traverse the ordered group of operations to determine a second initial set consisting of all subsequent operations of the first main operation; and
[0025] The operations corresponding to the first consumable in the preceding operations of the next adjacent main operation of the first main operation are added to the second initial set to obtain the subsequent set.
[0026] For example, the order of operations performed for different first consumables in the pre-update initial list and / or post-update initial list includes:
[0027] Based on the correspondence, determine the first and last operations for each first consumable in the preceding initial list and / or following initial list; and
[0028] Based on the order of operations performed by the first main operation on multiple first consumables, the first operation of the first consumable with the later operation order in the previous initial list and / or the subsequent initial list is placed after the last operation of the first consumable with the earlier operation order.
[0029] For example, determining the adjacent primary operations of the first primary operation in an ordered group of operations includes:
[0030] Based on the dependencies and correspondences of serial operations in the ordered operation group, determine the list of adjacent main operations for each main operation in the ordered operation group;
[0031] Based on the multi-input multi-output device nodes of the automated process, determine the first primary operation in the ordered operation group; and
[0032] Find the adjacent primary operations of each first primary operation from the adjacent primary operation list.
[0033] For example, the adjacent primary operation list includes a previous adjacent primary operation list and a subsequent adjacent primary operation list. Determining the adjacent primary operation list for each primary operation in the ordered operation group includes:
[0034] Based on the equipment nodes of the automated process, determine each main operation in the ordered operation group and obtain a list of main operations;
[0035] Based on the association attributes between each node of the automated process and the consumables, determine the correspondence between each operation and the consumables in the ordered operation group;
[0036] Based on the dependencies of serial operations in the ordered operation group, determine the preceding and following operations of each operation, and obtain the preceding operation list of the preceding operation of each operation and the following operation list of the following operation of each operation, where the preceding and following operations of each operation are respectively the preceding and following adjacent operations of that operation.
[0037] Based on the main operation list, the corresponding relationships, and the preceding operation list, determine the preceding adjacent main operations for each consumable corresponding to each main operation, thus obtaining the preceding adjacent main operation list; and
[0038] Based on the main operation list, the corresponding relationship, and the subsequent operation list, determine the next adjacent main operation for each consumable for each main operation, so as to obtain the next adjacent main operation list.
[0039] For example, determining the preceding adjacent major operation for each major operation for each corresponding consumable includes:
[0040] For each major operation
[0041] Based on the correspondence, determine all the secondary consumables corresponding to this main operation;
[0042] For each second consumable, the depth-first search algorithm is used to traverse the list of preceding operations, starting from the preceding operation of the main operation corresponding to the second consumable and sequentially searching backward for each first pending operation corresponding to the second consumable.
[0043] Determine whether the first pending operation belongs to the main operation based on the main operation list. If it does, then take the first pending operation as the previous adjacent main operation and end the search.
[0044] and / or
[0045] Determine the next adjacent major operation for each corresponding consumable for each major operation, including:
[0046] For each major operation
[0047] Based on the correspondence, determine all the secondary consumables corresponding to this main operation;
[0048] For each second consumable, a depth-first search algorithm is used to traverse the list of subsequent operations, starting from the subsequent operation corresponding to the main operation and searching sequentially for each second pending operation corresponding to the second consumable.
[0049] Determine whether the second pending operation belongs to the main operation based on the main operation list. If it does, then treat the second pending operation as the next adjacent main operation and end the search.
[0050] For example, the method further includes:
[0051] Based on the analysis results of the automated process, the operation order of the first master operation on multiple first consumables is determined.
[0052] According to another aspect of this application, a scheduling system for automated processes is provided, characterized in that it includes:
[0053] The acquisition module is used to acquire the ordered operation group of the automated process. The operations in the ordered operation group are dependent on each other according to the order of execution. The ordered operation group includes at least one main operation and associated operations of the main operation. The main operation is the main functional operation performed by the main equipment in the automated process for the sample carried by the corresponding consumable. The main operation includes a first main operation, which corresponds to multiple first consumables. The associated operations of each main operation include operations executed before or after the main operation and which are dependent on the main operation.
[0054] The determination module is used to determine the execution order of the associated operations of the first main operation based on the correspondence between the ordered operation group, the associated operations of the first main operation, and multiple first consumables, as well as the operation order of the first main operation on the multiple first consumables; and
[0055] The scheduling module is used to schedule automated processes based at least on a determined execution order.
[0056] According to another aspect of this application, an electronic device is provided, including a processor and a memory, wherein computer program instructions are stored in the memory, and the computer program instructions are executed by the processor to perform the scheduling method of the above-described automated process.
[0057] According to another aspect of this application, a storage medium is provided on which program instructions are stored, which, when run, are used to execute the scheduling method of the above-described automated process.
[0058] As mentioned earlier, existing scheduling methods for automated processes do not consider scenarios requiring specific order, making them ill-suited for handling such situations and resulting in unreasonable allocation of device operations within the device pool. However, the solution described in this application, based on the obtained ordered operation groups of the automated process, fully considers the pre-required operation order of consumables. Using the first main operation corresponding to multiple consumables as a benchmark, and based on the ordered operation groups and the correspondence between the associated operations of the first main operation and the multiple first consumables, the execution order of each associated operation of each first main operation is accurately determined, thereby achieving precise scheduling of the entire automated process. This solution can achieve accurate scheduling in various scenarios requiring specific order within the automated process. The scheduling logic is simple and reasonable, with a small computational load, resulting in high scheduling efficiency. Therefore, it fully meets the diverse business needs in the automated process, providing a better user experience.
[0059] The invention description introduces a series of simplified concepts, which will be further explained in detail in the detailed description section. This description is not intended to limit the key features and essential technical features of the claimed technical solution, nor is it intended to determine the scope of protection of the claimed technical solution.
[0060] The advantages and features of this application are described in detail below with reference to the accompanying drawings. Attached Figure Description
[0061] The following drawings, which are incorporated herein by reference and are used to understand this application, illustrate embodiments of the invention and their descriptions to explain the principles of the invention. In the drawings,
[0062] Figure 1 A schematic flowchart illustrating a scheduling method for an automated process according to an embodiment of this application is shown.
[0063] Figure 2a A flowchart of an automated process according to an embodiment of this application is shown;
[0064] Figure 2b A flowchart of an automated process according to another embodiment of this application is shown;
[0065] Figure 3 A flowchart illustrating a scheduling method for an automated process according to another embodiment of this application;
[0066] Figure 4 A schematic block diagram of a scheduling system for an automated process according to an embodiment of this application is shown; and
[0067] Figure 5 A schematic block diagram of an electronic device according to an embodiment of this application is shown. Detailed Implementation
[0068] In the following description, numerous details are provided to enable a thorough understanding of this application. However, those skilled in the art will appreciate that the following description merely illustrates preferred embodiments of the application, and that the application can be implemented without one or more of these details. Furthermore, to avoid confusion with this application, some technical features well-known in the art have not been described in detail.
[0069] To at least partially address the aforementioned technical problems, according to one aspect of this application, a scheduling method for automated processes is provided. The scheduling method according to embodiments of this application can be applied to automated processes in various fields for various suitable objectives. For simplicity, the following explanation uses an automated process in a laboratory automation system as an example.
[0070] The automated process according to the embodiments of this application includes at least one multiple-input multiple-output (MIO) device. As the name suggests, "multiple inputs" means multiple consumables enter the device, and "multiple outputs" similarly means multiple consumables exit the device. It can be understood that for an MIO device, the number of consumables it needs to process is multiple. In some scenarios, the order in which the device processes consumables needs to meet certain requirements. For example, for some MIO devices, the space at their inlet for storing consumables may be limited. Therefore, consumables need to enter the device in a certain order to avoid the inlet space being occupied by other consumables when a certain consumable needs to be processed, thus preventing device misoperation or process chaos. Of course, there may also be other reasons why consumables need to enter the device in a certain order. In the embodiments of this application, the order in which the MIO device processes consumables is pre-set. Based on a full consideration of the order in which the device processes consumables, the various operations in the automated process are scheduled.
[0071] Figure 1 A schematic flowchart of a scheduling method 1000 for an automated process according to an embodiment of this application is shown. As shown, the method 1000 includes steps S1200, S1400, and S1600.
[0072] Step S1200: Obtain the ordered operation group of the automated process. The operations within the ordered operation group are dependent on each other according to their execution order. For example, the start time of a later-executed operation depends on the end time of a previously executed operation, thus creating a dependency between them. The ordered operation group includes at least one main operation and associated operations of the main operation. The main operation is the primary functional operation performed by the main equipment in the automated process for the sample carried by the corresponding consumable. The main operation includes a first main operation. The first main operation corresponds to multiple first consumables. Associated operations of each main operation include operations executed before or after the main operation and that are dependent on it.
[0073] The following explanation uses a key piece of equipment in an automated workflow—a microplate reader (ELIL)—as an example. In an automated workflow, the ELIL needs to perform enzyme-labeling operations such as spiking and incubating the samples in the consumables; therefore, the enzyme-labeling operation is considered the main operation of the ELIL. Before the enzyme-labeling operation, the ELIL's door needs to be opened and closed; these opening and closing operations can be called the pre-operation of the ELIL. Similarly, after the enzyme-labeling operation, the ELIL's door also needs to be opened and closed; these can be called the post-operation of the ELIL. For the main equipment, its pre-operation and post-operation can be performed by itself or by other equipment. Furthermore, in this example, the consumables can only be moved into the ELIL with the door open, then the ELIL closes its door to perform the enzyme-labeling operation. After the enzyme-labeling operation is completed, the ELIL door is opened again, the consumables that have undergone enzyme-labeling are moved out of the ELIL, and the ELIL door is closed again. It is understood that for an ELISA reader, each pre-operation needs to be performed before the enzyme-labeling operation, while each post-operation needs to be performed after the enzyme-labeling operation. Therefore, the pre- and post-operations of the ELISA reader are dependent on the enzyme-labeling operation. In the embodiments of this application, both the pre- and post-operations of the ELISA reader can be considered as associated operations of the enzyme-labeling operation. It is understood that automated processes typically involve multiple devices, thus there are situations where multiple devices process a consumable sequentially. For example, consumable A is first processed by a pipetting workstation before entering the ELISA reader. In this case, the main operation of the pipetting workstation is the pipetting operation. For consumable A, the pipetting operation needs to be performed before the enzyme-labeling operation; therefore, there is also a dependency between the pipetting operation and the enzyme-labeling operation for consumable A. Both the pipetting operation and the enzyme-labeling operation are main operations; the pipetting operation can be referred to as the pre-adjacent main operation of the enzyme-labeling operation. After performing a pipetting operation on consumable A (e.g., transferring a sample from another consumable to this consumable), a transfer operation on consumable A is also required, such as transferring consumable A to the exit plate position of the device and / or transferring consumable A to the inlet plate position of the microplate reader by a robotic arm. It can be understood that the transfer operation performed on consumable A after the pipetting operation is a post-operation of the pipetting workstation. These operations need to be performed before the microplate reading operation; therefore, these operations are also dependent on the microplate reading operation, and these operations are also associated operations of the microplate reading operation. Thus, the associated operations of the main operation of the main device also include the post-operations performed by the main device of the preceding adjacent main operation on the same consumable. It can be understood that the same consumable is the same consumable that both main operations process. In other words, these two main operations correspond to the same consumable. Following a similar principle, the associated operations of the main operation of the main device can also include the post-operations performed by the main device of the following adjacent main operation on the same consumable. In general, the associated operations of each main operation include operations that are dependent on that main operation and are performed before and / or after it.
[0074] For example, some devices primarily process only one type of consumable. Other devices, such as multiple-input multiple-output devices, need to process multiple consumables within a certain time period. For devices that need to process multiple consumables, for ease of distinction, in this embodiment, this primary operation can be referred to as the first primary operation. The multiple consumables corresponding to or associated with the first primary operation can be referred to as the first consumables. Taking a pipetting workstation as an example, the first consumables may include two consumables: a pipette tip and an orifice plate. For simplicity, these two consumables can be referred to as the associated consumables of the pipetting operation.
[0075] An ordered operation group in an automated process can be an ordered set of operations performed by various devices within the process. It can be understood that within this set, there are dependencies between the operations performed on the same consumable. The order of these dependent operations within the ordered operation group corresponds to the order in which they are performed in the automated process. For example, for consumable A, operations such as pipetting, transferring the consumable to the outlet plate position, transferring the consumable to the inlet plate position of the microplate reader, opening the microplate reader door, closing the microplate reader door, performing the microplate reading, opening the microplate reader door again, and closing the microplate reader door can all be considered operations within an ordered operation group. These operations must be performed sequentially and cannot be reversed. It can be understood that in multi-input, multi-output devices that handle multiple consumables, the operations performed on different consumables may or may not have dependencies. For example, if a microplate reader is associated with consumables A and B, the pre-operations performed by the microplate reader on consumable A and on consumable B may not have dependencies. However, because the pre-operation and main operation performed by the ELISA reader for consumable A are dependent, and the main operation and post-operation performed by the ELISA reader for consumable B are dependent, and the ELISA reader processes both consumables A and B simultaneously, there is an indirect dependency between the pre-operation performed by the ELISA reader for consumable A and the post-operation performed by the ELISA reader for consumable B in this case. Therefore, in the ordered operation group, the pre-operation performed by the ELISA reader for consumable A comes first, and the post-operation performed by the ELISA reader for consumable B comes later.
[0076] According to embodiments of this application, any suitable method can be used to obtain the ordered operation group of an automated process. For example, when a user edits an automated process using process editing software, the process can be predefined through a human-computer interaction interface. When running the automated process, the process can be parsed to obtain the ordered operation group. Figure 2a A partial flowchart of an automated process according to one embodiment is shown. Figure 2aAs shown in the figure, a process consisting of multiple operations is illustrated. It can be seen from the figure that operations 1 and 2 are each dependent on operation 3. Operations 4 and 5 are each dependent on operation 3. Operations 6 and 7 are each dependent on operation 8. Operations 9 and 10 are each dependent on operation 8. Furthermore, operations 5 and 9 are each dependent on operation 11. Operations 12 and 13 are each dependent on operation 11. Operations 3, 8, and 11 are all primary operations. Operations 1, 2, 4, and 5 are associated operations of operation 3. Operations 6, 7, 9, and 10 are associated operations of operation 8. Operations 5, 9, 12, and 13 are associated operations of operation 11. For example, after parsing this process, an ordered group of operations consisting of these operations can be obtained. Refer to Table 1 below. As shown in Table 1, its first column can be considered as... Figure 2a This is an example of a list of operations in an ordered group obtained after parsing the flowchart. It's understandable that the order of operations without dependencies within the ordered group can be determined based on the specific circumstances. Therefore, in other examples, operations without dependencies can have other orders. For instance, in an ordered group, operation 2 could come first, followed by operation 1.
[0077] For example, during the process of a user editing an automated workflow using workflow editing software, the attributes of consumables associated with each operation can be defined through a human-computer interaction interface. In this step, by parsing the automated workflow, the correspondence between each operation and consumable in the operation group can also be obtained. As shown in Table 1, Figure 2a Each primary operation can be associated with multiple consumables, while each primary operation's associated operation can be associated with one consumable. Figure 2a The device shown as the first master operating device can be a multiple-input multiple-output device.
[0078] Table 1
[0079] Operation 1 Consumables 1 key: Operation 1, value: [Consumable 1] Operation 2 Consumables 2 key: Operation 2, value: [Consumables 2] Operation 3 Consumable 1, Consumable 2 key: Operation 3, value: [Consumable 1, Consumable 2] Operation 4 Consumables 1 key: Operation 4, value: [Consumable 1] Operation 5 Consumables 2 key: Operation 5, value: [Consumables 2] Operation 6 Consumables 3 key: Operation 6, value: [Consumables 3] Operation 7 Consumables 4 key: Operation 7, value: [Consumables 4] Operation 8 Consumables 3, Consumables 4 key: Operation 8, value: [Consumables 3, Consumables 4] Operation 9 Consumables 3 key: Operation 9, value: [Consumables 3] Operation 10 Consumables 4 key: Operation 10, value: [Consumables 4] Operation 11 Consumable 2, Consumable 3 key: Operation 11, value: [Consumable 2, Consumable 3] Operation 12 Consumables 2 key: Operation 12, value: [Consumables 2] Operation 13 Consumables 3 key: Operation 13, value: [Consumables 3]
[0080] Step S1400: Determine the execution order of the associated operations of the first main operation based on the correspondence between the ordered operation group, the associated operations of the first main operation and the multiple first consumables, and the operation order of the first main operation on the multiple first consumables.
[0081] It can be understood that the order in which the first master operation operates on multiple first consumables represents the order in which the device of the first master operation processes multiple first consumables. For example, the order in which the first master operation operates on multiple first consumables can be determined based on the parsing results of the automated process. This is because the user has already determined the operation order of the first consumables associated with the corresponding first master operation when the automated process is established; therefore, parsing the automated process yields the order in which the first master operation operates on multiple first consumables. For instance, before running the automated process, the user can edit the process using process editing software and set the order in which the first master operation operates on the first consumables using the human-computer interaction interface. This order is then stored as the consumable operation attribute of the first master operation in the execution script of the automated process. When running the automated process, the order in which the first master operation operates on the first consumables can be obtained by parsing the automated process.
[0082] In this step, any suitable determination logic can be used to determine the first main operation based on the correspondence between the ordered operation group, the associated operations of the first main operation, and the multiple first consumables, as well as the operation order of the first main operation on the multiple first consumables. Exemplarily, but not limitingly, firstly, all main operations in the ordered operation group can be determined based on the analysis results of the automated process. Then, for each main operation, adjacent main operations with indirect dependencies on the main operation can be found based on the dependencies between the operations in the ordered operation group. Specifically, the main operation that is executed before the main operation and is closest to the main operation can be found in the ordered operation group as the preceding adjacent main operation. Similarly, the main operation that is executed after the main operation and is closest to the main operation can be found as the following adjacent main operation. Next, the main operation of the multiple-input multiple-output device, i.e., the first main operation in this embodiment, can be determined based on the correspondence between each main operation and the consumables. For example, all three main operations in Table 1 can be used as the first main operation. Afterwards, the associated operations of each first main operation can be determined. Specifically, for each first main operation, based on each first consumable corresponding to the first main operation, all operations in the ordered operation group that are associated with the first consumable and whose execution order is between the first main operation and its preceding adjacent main operation can be found, and these are considered as the preceding associated operations of the first main operation. Similarly, following the same principle, all operations in the ordered operation group that are associated with the first consumable and whose execution order is between the first main operation and its following adjacent main operation can be found, and these are considered as the following associated operations of the first main operation. For example, the set of operations formed by all the determined preceding associated operations of the first main operation can be considered as the preceding set of the first main operation. And the set of operations formed by all the determined following associated operations of the first main operation can be considered as the following set of the first main operation. Thus, the preceding set and the following set of each first main operation can be determined. It is understood that the preceding set of each first main operation includes at least the preceding operations of the main device of the first main operation, and may also include operations performed on the consumable associated with the first main operation in the following operations of the main devices of the preceding adjacent main operations of the first main operation. Similarly, the subsequent set of each first master operation includes at least the subsequent operations of the master device of that first master operation, and may also include operations performed on the consumables associated with that first master operation in the preceding operations of the master devices of the next adjacent master operations. Then, the order of dependent operations in the preceding and subsequent sets can be adjusted to obtain a preceding list and a subsequent list. In other words, the order of operations in the preceding and subsequent lists is the same as the order of these operations in the ordered operation group. Afterwards, the order of operations in the preceding and subsequent lists of each first master operation can be adjusted according to the correspondence between operations and consumables and the order of operations performed by each first master operation on consumables (first consumables).For example, supplementary dependencies can be established for operations performed on different consumables in the preceding or following lists, based on the order of operations performed on consumables by the first main operation. Thus, the order of operations in the corresponding lists can be determined based on these supplementary dependencies. These supplementary dependencies can be any suitable dependency that satisfies the requirement of the order of operations performed on consumables by the first main operation.
[0083] The following explanation uses a pre-list of any first main operation as an example. Optionally, the first and last steps of each operation for each consumable in the pre-list can be determined. For example, if the first main operation requires operation on two consumables, the first operation (referred to as the initial operation for simplicity) and the last operation (referred to as the tail operation for simplicity) for each operation on these two consumables in the pre-list can be determined separately. Then, based on the order of operations performed on the consumables by the first main operation, a dependency relationship can be established between the tail operation for the previous consumable and the initial operation for the next consumable, thus obtaining a supplementary dependency relationship. Based on this supplementary dependency relationship, the execution order of each operation in the pre-list can be determined as follows: all operations on the previous consumable are executed first, and all operations on the next consumable are executed last. It can be understood that in this example, the execution order of each operation performed on different consumables in the pre-list is sequential. Alternatively, the operations that may occupy the entry board position of the main device in the first main operation can also be found from the pre-list. Then, for each consumable, the first and last operations can be determined specifically for these operations that may occupy the device's entry board position (for simplicity, we can call them occupancy operations). Following the method described above, based on the order in which the device operates on the consumables, a dependency relationship can be established between the last operation for the previous consumable and the first operation for the next consumable within these occupancy operations, thus obtaining a supplementary dependency relationship. Based on this supplementary dependency relationship, the execution order of the operations in the first list can be determined as follows: all occupancy operations for the previous consumable are executed first, and all occupancy operations for the next consumable are executed last. It can be understood that in this example, among the operations executed for different consumables, only the occupancy operations are serial, while non-occupancy operations (other operations in the first list besides occupancy operations) can be parallel.
[0084] Step S1600: Schedule the automated process based at least on the determined execution order. It is understood that the ordered operation group of the automated process may also include main operations, preceding operations, and subsequent operations for non-multiple-input multiple-output (MIMO) devices, or main operations, preceding operations, and subsequent operations for MIMO devices that do not require a consumable order. For these operations, the preceding and subsequent lists for each main operation can be determined using the method described above for determining the preceding and subsequent lists of the first main operation. Finally, the automated process can be scheduled based on the order of operations in the preceding and subsequent lists of each main operation, including the first main operation, and the dependencies between the main operations.
[0085] As mentioned earlier, existing scheduling methods for automated processes do not consider scenarios requiring specific order, making them ill-suited for handling such situations and resulting in unreasonable allocation of device operations within the device pool. However, the solution described in this application, based on the obtained ordered operation groups of the automated process, fully considers the pre-required operation order of consumables. Using the first main operation corresponding to multiple consumables as a benchmark, and based on the ordered operation groups and the correspondence between the associated operations of the first main operation and the multiple first consumables, the execution order of each associated operation of each first main operation is accurately determined, thereby achieving precise scheduling of the entire automated process. This solution can achieve accurate scheduling in various scenarios requiring specific order within the automated process. The scheduling logic is simple and reasonable, with a small computational load, resulting in high scheduling efficiency. Therefore, it fully meets the diverse business needs in the automated process, providing a better user experience.
[0086] For example, in step S1400, determining the execution order of the associated operations of the first main operation may include steps S1410, S1420 and S1430.
[0087] In step S1410, the adjacent main operations of the first main operation in the ordered operation group are determined according to the dependency relationship of the serial operations in the ordered operation group.
[0088] As mentioned above, the adjacent main operations of the first main operation may include the previous adjacent main operation that is closest to the main operation before the main operation and / or the subsequent adjacent main operation that is closest to the main operation after the main operation.
[0089] Continue to refer to Figure 2a See Table 1. As mentioned earlier, operations 3, 8, and 11 are all first primary operations. Therefore, for operation 3, operation 11 is its adjacent primary operation and its subsequent primary operation. For operation 8, operation 11 is its adjacent primary operation and its subsequent primary operation. For operation 11, operations 3 and 8 are both its preceding primary operations.
[0090] According to the embodiments of this application, various suitable determination logics can be used to determine the adjacent main operations of each first main operation in an ordered operation group, and this application does not limit them.
[0091] In one example, a list of master operations, consisting of individual master operations, can be generated first based on the attributes and dependencies of the operations in the ordered operation group. Then, based on the dependencies of each operation in the ordered operation group, a list of adjacent master operations for each master operation can be determined. Finally, the list of adjacent master operations for the first master operation corresponding to the MIMO device is retrieved from the list of adjacent master operations for all master operations.
[0092] By way of example and not limitation, step S1410 determines the adjacent master operation of the first master operation in the ordered operation group, including steps S1411, S1412 and S1413.
[0093] Step S1411: Determine the list of adjacent main operations for each main operation in the ordered operation group based on the dependency and correspondence of the serial operations in the ordered operation group.
[0094] The serial operations are operations with dependencies. In this step, the operations shown in Table 1 can be traversed, and the adjacent main operations list for each main operation can be determined based on the attribute of whether each operation is a main operation, the associated consumables of each operation, and the order of the dependent operations in the ordered operation group. For example, a main operation list consisting of each main operation can be generated first based on the attributes and dependencies of the operations in the ordered operation group. Then, a list of correspondences between each operation and consumables, as shown in Table 1, can be generated. Afterward, a list of preceding operations and a list of following operations for each operation can be generated based on the dependent operations in the ordered operation group. Here, the preceding operation of each operation is an operation that is executed before the operation and has a direct dependency on the operation. For example, the preceding operation can be an operation in the ordered operation group that has a dependency on the operation and is the operation preceding the operation. Similarly, the following operation of each operation is an operation that is executed after the operation and has a direct dependency on the operation. Finally, any suitable logic can be used to determine the adjacent main operations for each main operation based on the main operation list, the preceding operation list, and the following operation list.
[0095] For example, step S1411 may include steps S1411a, S1411b, S1411c, S1411d, and S1411e.
[0096] Step S1411a: Based on the equipment nodes of the automated process, determine each main operation in the ordered operation group and obtain a list of main operations. Figure 2a In the illustrated embodiment, the main operations include operations 3, 8, and 11.
[0097] Step S1411b: Based on the association attributes between each node of the automated process and the consumables, determine the correspondence between each operation and the consumables in the ordered operation group. As shown in Table 1, the correspondence between each operation and the consumables can be listed, which makes it easy to trace the upstream and downstream operations of each main operation according to the flow of the consumables.
[0098] Step S1411c: Based on the dependencies of the serial operations in the ordered operation group, determine the preceding and following operations for each operation, and obtain a list of preceding operations for each preceding operation and a list of following operations for each following operation. Here, the preceding and following operations for each operation are respectively the preceding and following adjacent operations of that operation. In other words, the preceding operation is the nearest dependent operation before the current operation, and the following operation is the nearest dependent operation after the current operation. That is, for the current operation, execution begins after the preceding operation has finished executing, and execution begins after the current operation has finished executing.
[0099] According to the above Figure 2a Based on the examples shown in Table 1, the preceding and subsequent operations for each operation can be determined according to the dependencies of the serial operations in the ordered operation group, as shown in Table 2 below.
[0100] Table 2
[0101]
[0102] As shown in Table 2, operations 1 and 2 have no preceding operations, the preceding operations of operation 3 are operations 1 and 2, and the preceding operations of operations 4 and 5 are both operation 3. Therefore, by organizing the preceding operations into keys and the preceding sequence list of each operation into values, we can obtain a dictionary of preceding operations.
[0103] Step S1411d: Based on the main operation list, the corresponding relationship, and the preceding operation list, determine the preceding adjacent main operation for each consumable for each main operation, so as to obtain the preceding adjacent main operation list.
[0104] According to the embodiments of this application, any suitable method can be used to determine the preceding adjacent main operation for each consumable based on the main operation list, the correspondence, and the preceding operation list.
[0105] In one example, step S1411d may include steps S1411d.1 to S1411d.3.
[0106] Step S1411d.1: For each main operation, all corresponding second consumables can be determined according to the correspondence. For ease of distinction, the second consumable specifically refers to the consumable processed by the current main operation. It can be understood that if the current main operation is the first main operation, the second consumable can be the first consumable; however, if the current main operation is not the first main operation, then the second consumable is not the first consumable. Taking the current main operation as operation 3 as an example, its corresponding second consumables are consumable 1 and consumable 2. According to the embodiments of this application, a list of correspondences between each operation and consumable in the ordered operation group can be determined first, and then the consumable corresponding to each main operation can be found from this list.
[0107] Step S1411d.2: For each second consumable, use the depth-first search algorithm to traverse the list of preceding operations, starting from the preceding operation of the main operation corresponding to the second consumable and sequentially searching backward for each first pending operation corresponding to the second consumable.
[0108] For example, referring to Table 1, starting with consumable 1 as the baseline, searching backwards from operation 3, consumable 1 passes through operation 1, making operation 1 the first pending operation. Searching backwards from operation 1, operation 1 has no preceding operation. Based on the main operation list, it is determined whether the first pending operation belongs to the main operation; if so, it is taken as the preceding adjacent main operation and the search ends. For operation 1, according to the main operation list, it does not belong to the main operation. Then, starting with consumable 2 as the baseline, searching backwards from operation 3, the first first pending operation is operation 2, which does not belong to the main operation. Operation 2 has no preceding operation. Therefore, the search ends, and operation 3 has no preceding adjacent main operation.
[0109] Taking operation 11 as an example, it corresponds to consumables 2 and 3. Taking consumable 2 as the second consumable and searching backwards, operation 5 is the first pending operation. According to the main operation list, it does not belong to the main operation and is not among the preceding adjacent main operations. Continuing to search backwards, operation 3 is the first pending operation and belongs to the preceding adjacent main operation. After finding the preceding adjacent main operation, the search for consumable 2 as the second consumable stops. Taking consumable 3 as the second consumable and searching backwards, operation 8 is found to be the preceding adjacent main operation. Finally, it is determined that the preceding adjacent main operations of operation 11 include operation 3 and operation 8.
[0110] In the above scheme, by determining the consumables corresponding to the main operation, and then in the ordered operation group, based on the consumables and the preceding operations of each operation, each main operation starts by searching backwards for the first pending operation that has a direct or indirect dependency relationship with it. Each time, the first pending operation found is matched with the main operations in the main operation list to determine the preceding adjacent main operation of each main operation. This scheme has simple logic, is less prone to judgment errors and omissions, and thus results in a more accurate scheduling scheme.
[0111] Step S1411e: Based on the main operation list, the corresponding relationship, and the subsequent operation list, determine the next adjacent main operation for each consumable for each main operation, so as to obtain the next adjacent main operation list.
[0112] Similar to the scheme in step S1411f above for determining the preceding adjacent master operation group for each master operation, step S1411e may also include the following steps S1411e.1 to S1411e.3. In step 1411e.1, based on the correspondence, all second consumables corresponding to the master operation are determined. In step 1411e.2, for each second consumable, a depth-first search algorithm is used to traverse the subsequent operation list, starting from the subsequent operation corresponding to the master operation and sequentially searching for each second pending operation corresponding to the second consumable. In step 1411e.3, based on the master operation list, it is determined whether the second pending operation belongs to the master operation; if so, the second pending operation is taken as the following adjacent master operation of the master operation, and the search ends. It can be understood that the scheme for determining the following adjacent master operation of each master operation through these three steps is similar to the scheme in steps S1411d.1 to S1411d.3 above. For simplicity, it will not be elaborated further here. In the above scheme, by determining the consumables corresponding to the main operation, and then in the ordered operation group, based on the consumables and the subsequent operations of each operation, each main operation starts by searching sequentially for the second pending operation that has a direct or indirect dependency relationship with it. Each time, the first pending operation found is matched with the main operation in the main operation list to determine the next adjacent main operation for each main operation. This scheme has simple logic, is less prone to judgment errors and omissions, and thus results in a more accurate scheduling scheme.
[0113] Therefore, the preceding and following adjacent primary operations of each primary operation can be determined separately, and a list of adjacent primary operations can be generated. For example, for the aforementioned... Figure 2a The flowchart can determine the list of adjacent master operations for each master operation, as shown in Table 3 below.
[0114] Table 3
[0115]
[0116] Step S1412: Based on the multi-input multi-output device nodes of the automated process, determine each first primary operation in the ordered operation group. As mentioned above, each first primary operation corresponds to at least two consumables; therefore, each first primary operation can be determined based on the multi-input multi-output device nodes.
[0117] Step S1413 involves searching for the adjacent master operations of each first master operation from the adjacent master operation list. In step S1412, the first master operation was determined, and in step S1411 above, the adjacent master operation list for each master operation in the ordered operation group was determined based on the dependencies and correspondences of the serial operations. Therefore, for each first master operation, its adjacent master operations can be found from the adjacent master operation list of each master operation. For a first master operation, its adjacent master operations can be the master operations of a one-in-one-out device or the first master operations of a multi-in-multi-out device.
[0118] The above-mentioned scheme for determining the adjacent master operations of each first master operation has a simpler and more reasonable execution logic, and the determined adjacent master operations are also more accurate, thereby helping to improve the scheduling efficiency and accuracy of automated processes.
[0119] Step S1420: Determine the associated operations of the first primary operation based on the adjacent primary operations, ordered operation groups, and corresponding relationships of the first primary operation.
[0120] As previously stated, the associated operations of the first primary operation include pre-associated operations and / or post-associated operations. Pre-associated operations of the first primary operation include operations executed before the first primary operation and which are dependent on the first primary operation. For each first primary operation, its pre-associated operations include both operations preceding the first primary operation and operations performed on associated consumables of the first primary operation in the post-operation of a preceding adjacent primary operation; its post-associated operations include both operations following the first primary operation and operations performed on associated consumables of the first primary operation in the preceding operation of a subsequent adjacent primary operation.
[0121] In this step, various suitable methods can be used to determine the associated operations of the first primary operation.
[0122] For example, determining the associated operation of the first master operation in S1420 may include steps S1421 and S1422.
[0123] Step S1421: Based on the ordered operation group and the determined previous adjacent main operations, determine the previous set consisting of the previous associated operations of the first main operation.
[0124] For example, step S1421 may include steps S1421a and S1421b.
[0125] Step S1421a: Traverse the ordered operation group to determine a first initial set consisting of all preceding operations of the first main operation. The first initial set can be the set of preceding operations for each first main operation. For example, during the process of a user editing an automated workflow using workflow editing software, the preceding and following operations of each main operation can be defined through a human-computer interaction interface. In this step, by parsing the automated workflow, it can be determined whether each operation has the attribute of a preceding operation of a certain main operation. Thus, the set of preceding operations for each main operation can be obtained.
[0126] Figure 2b A flowchart of an automated process according to another embodiment of this application is shown. Figure 2b As shown, the diagram can be Figure 2a A detailed flowchart of the flowchart. As shown in the figure. Figure 2a Operation 5 in the middle can correspond to Figure 2b Operations 5-1, 5-2, and 5-3 are shown. Figure 2a Operation 9 in the middle can correspond to Figure 2b Operations 9-1, 9-2, and 9-3 are shown. (See reference.) Figure 2b Operation 3's preceding operations include operations 1 and 2. Operation 8's preceding operations include operations 6 and 7. Operation 11's preceding operations include operations 5-2, 5-3, and operations 9-2, 9-3. Therefore, as shown in Table 4 below, we can obtain... Figure 2b The flowchart shows the set of pre-operations for each main operation, i.e., the first initial set.
[0127] Table 4
[0128] Operation 3 Operation 1, Operation 2 Operation 8 Operation 6, Operation 7 Operation 11 Operation 5-2, Operation 5-3, Operation 9-2, Operation 9-3
[0129] Step S1421b: Add the operation corresponding to the first consumable from the subsequent operation of the preceding adjacent main operation of the first main operation to the first initial set to obtain the preceding set. For Figure 2b As shown in the flowchart, operations 3 and 8 do not have any preceding adjacent main operations, therefore step S1421b does not need to be executed. The preceding adjacent main operations of operation 11 include operations 3 and 8. The operation following operation 3 that corresponds to the operation on the first consumable is operation 5-1, which is added to the first initial set. The operation following operation 8 that corresponds to the operation on the first consumable is operation 9-1, which is also added to the first initial set. Thus, the resulting preceding set is shown in Table 5 below.
[0130] Table 5
[0131]
[0132] Step S1422: Based on the ordered group of operations and the determined subsequent adjacent main operations, determine the subsequent set consisting of the subsequent associated operations of the first main operation. In this step, various suitable methods can be used to determine the subsequent set of each first main operation. For example, a method similar to steps S1421a and S1421b described above can be used to determine the subsequent set of each first main operation. Exemplarily, step S1422 may include steps S1422a and S1422b.
[0133] Step S1422a: Traverse the ordered operation group to determine the second initial set consisting of all subsequent operations of the first main operation. Similar to step S1421a, the subsequent operations of operation 3 include operation 5-1, operation 5-2, and operation 4; the subsequent operations of operation 8 include operation 9-1, operation 9-2, and operation 10; and the subsequent operations of operation 11 include operation 12 and operation 13.
[0134] Step S1422b: Add the operations corresponding to the first consumable from the preceding operations of the next adjacent main operation of the first main operation to the second initial set to obtain the subsequent set. For example, operation 5-3 can be added to the second initial set of operation 3, and operation 9-3 can be added to the second initial set of operation 8 to obtain the subsequent set.
[0135] The above-described scheme for determining the preceding and following sets of each primary operation has simpler execution logic, requires less computation, and ensures that the determined preceding and following sets include all associated operations of the primary operation. This facilitates real-time and accurate scheduling of automated processes.
[0136] Finally, as shown in Table 6 below, we can obtain... Figure 2b The flowchart shows the pre-set and post-set of each first master operation.
[0137] Table 6
[0138]
[0139] According to the embodiments of this application, steps S1421 and S1422 can be executed simultaneously or sequentially. This application does not restrict the execution order of these two steps.
[0140] Step S1430: Determine the execution order of the associated operations of the first main operation based on the dependency relationship, the operation order of the first main operation on multiple first consumables, and the correspondence relationship.
[0141] For example, step S1430 may include steps S1431a and / or S1431b, steps S1432a and / or S1432b, and steps S1433a and / or S1433b.
[0142] Step S1431a: Sort the operations in the pre-set according to dependencies to obtain the pre-initial list of the first main operation. In the initial list, the order of different operations performed for the same first consumable is the same as the dependency relationship. It can be understood that Table 6 determines the pre-set and post-set of each first main operation, that is, it determines all associated operations for each first main operation. In this step, the operations in the pre-set and post-set of each first main operation can be sorted to obtain the pre-initial list and post-initial list respectively. For example, for the pre-set of operation 11 shown in Table 6, for the operations corresponding to consumable 2, since there is a dependency between operation 5-1 and operation 5-2, the previously executed operation 5-1 can be moved before operations 5-2 and 5-3, and the previously executed operation 9-1 can be moved before operations 9-2 and 9-3.
[0143] Step S1431b: Sort the operations in the subsequent set according to the dependencies to obtain the subsequent initial list of the first main operation. Similar to step S1431a, adjust the order of the subsequent initial list of operation 3 in Table 6 to determine operation 4, operation 5-1, operation 5-2, operation 5-3, and the order of the subsequent initial list of operation 8 to determine operation 9-1, operation 9-2, operation 9-3, operation 10.
[0144] Step S1432a: Based on the operation order and correspondence of the first main operation on multiple first consumables, update the initial list and obtain the updated front list. In the front list, operations corresponding to the first consumables are listed first, while operations corresponding to the later consumables are listed later. For example, for... Figure 2a Regarding operation 11, consumable 2 needs to enter the device before consumable 3. Therefore, the initial list can be updated according to the following order: at least some operations corresponding to consumable 2 are executed first (these at least some operations can be all operations corresponding to consumable 2 in the previous initial list, or only some operations that meet the requirements, such as the operation of occupying the device entry plate in the aforementioned example), and at least some operations corresponding to consumable 3 are executed later.
[0145] For example, step S1432a may include steps S1432a.1 and S1432a.2.
[0146] Step S1432a.1: Determine the first and last operations for each first consumable in the initial list according to the correspondence. Step S1432a.2: Based on the operation order of the first main operation on multiple first consumables, place the first operation of the first consumable with the later operation order in the initial list after the last operation of the first consumable with the earlier operation order.
[0147] Refer again Figure 2bAccording to Table 6, for consumable 2 associated with operation 11, in step S1431a, the previously executed operation 5-1 is moved before operations 5-2 and 5-3. Therefore, in the initial list, the first operation for consumable 2 is operation 5-1, and the last operation is operation 5-3. Following a similar principle, it can be concluded that in the initial list, the first operation for consumable 3 is operation 9-1, and the last operation is operation 9-3. As mentioned above, the operation order of operation 11 for consumable 2 precedes the operation order for consumable 3. In other words, a dependency relationship can be established between operation 9-1 and operation 5-3. This ensures that operations 5-1, 5-2, and 5-3 related to consumable 2 all precede operations 9-1, 9-2, and 9-3 related to consumable 3. Therefore, it ensures that operations performed on consumable 3 do not occupy the entry plate position of the device corresponding to consumable 2 entering operation 11, guaranteeing the smooth execution of the automated process.
[0148] Step S1432b: Based on the operation order and correspondence of the first main operation on multiple first consumables, update the order of each operation performed on different first consumables in the initial list and obtain the updated back list. In the back list, the operation order corresponding to the first consumable is first, and the operation order corresponding to the second consumable is last.
[0149] Similar to the scheme for the initial list before the update described above, step S1432b may also include steps S1432b.1 and S1432b.2. Step S1432b.1: Based on the correspondence, determine the first and last operations corresponding to each first consumable in the subsequent initial list. Step S1432b.2: Based on the operation order of the first main operation on multiple first consumables, place the first operation of the first consumable with a later operation order in the subsequent initial list after the last operation of the first consumable with a earlier operation order.
[0150] It is understandable that the scheme of updating the initial list before according to the methods of steps S1432a.1 and S1432a.2, and updating the initial list after according to the methods of steps S1432b.1 and S1432b.2, will not disrupt the order of operations corresponding to each first consumable, nor will it cause operations of different first consumables to overlap, thus avoiding logical confusion, simplifying the execution logic, and reducing the amount of calculation.
[0151] For example, according to the above steps S1432a.1 and S1432b.1, it can be determined that Figure 2b The first and last operations for each first consumable are listed in the pre-initial list and post-initial list of each first main operation, and the results are shown in Table 7 below.
[0152] Table 7
[0153]
[0154] Based on steps S1432a.2 and S1432b.2 above, it can be determined that... Figure 2b The preceding and following lists are obtained by updating the preceding and following initial lists for each first primary operation. As shown in Table 8, the preceding set, following set, preceding list, and following list for each first primary operation can be determined.
[0155] Table 8
[0156]
[0157] Step S1433a: Determine the execution order of the pre-associated operations of the first main operation based on the previous list.
[0158] Step S1433b: Determine the execution order of the subsequent associated operations of the first main operation based on the subsequent list.
[0159] According to the embodiments of this application, the order of each operation in the front list of each first main operation determined by the above steps can be directly determined as the execution order of the preceding associated operations of the first main operation; and the order of each operation in the back list of each first main operation determined by the above steps can be directly determined as the execution order of the following associated operations of the first main operation.
[0160] It is understandable that, through the above solution, for example... Figure 2b In the illustrated automated process, for operation 11, it can be determined that operations 5-3 performed on consumable 2 will be executed before operations 9-3 performed on consumable 3. This prevents conflicts where consumable 3 enters the device before consumable 2. Therefore, this method can satisfy various scenarios with sequential requirements in automated processes, and the logic for determining the execution order is simple, does not consume excessive system resources, is fast, and is less prone to errors. Thus, the scheduling method described above has both high efficiency and accuracy.
[0161] Figure 3A flowchart of an automated process according to another embodiment of this application is shown. As shown, firstly, the automated process can be parsed to obtain an ordered group of operations. Then, each main operation in the ordered group can be determined, and the correspondence between each operation and consumables in the ordered group can be determined. Next, based on the dependencies between the operations in the ordered group, the preceding and following operations of each operation in the ordered group can be determined, and a list of preceding and following operations can be obtained. Furthermore, for all consumables corresponding to each main operation, a depth-first search algorithm can be used to traverse the list of preceding operations to determine the preceding and following main operations of each main operation, thereby obtaining a list of adjacent main operations for each main operation. Then, based on the determined list of adjacent main operations for each main operation, and by traversing the ordered group, for each first main operation, the preceding and following sets of that main operation can be determined. Specifically, a first initial set consisting of all preceding operations of the first main operation and a second initial set consisting of all following operations of the first main operation can be determined first. The operations corresponding to the first consumables in the subsequent operations of the preceding adjacent main operations of the first main operation can be added to the first initial set to obtain the front set; similarly, the operations corresponding to the first consumables in the preceding operations of the subsequent adjacent main operations of the first main operation can be added to the second initial set to obtain the back set. Then, the operations in the front set of each first main operation can be sorted according to dependencies to obtain the front initial list and back initial list of the first main operation. Next, based on the operation order of each first main operation on multiple first consumables and the correspondence between each operation and consumable in the ordered operation group, the first and last operations corresponding to each first consumable in the front initial list and back initial list of the first main operation can be determined, updating the front and back initial lists to obtain the updated front and back lists. Furthermore, the execution order of the preceding associated operations of each first main operation can be determined based on the front list of each first main operation, and the execution order of the following associated operations of each first main operation can be determined based on the back list of each first main operation. Finally, the automated process can be scheduled based at least on the determined execution order of the preceding and following associated operations of each first main operation group.
[0162] According to another aspect of this application, a scheduling system for automated processes is also provided. Figure 4 A schematic block diagram of an automated process scheduling system 400 according to an embodiment of this application is shown. As shown, the automated process scheduling system 400 includes an acquisition module 410, a determination module 420, and a scheduling module 430.
[0163] The acquisition module 410 is used to acquire an ordered operation group of an automated process. The operations in the ordered operation group are dependent on each other according to the order of execution. The ordered operation group includes at least one main operation and associated operations of the main operation. The main operation is the main functional operation performed by the main equipment in the automated process for the sample carried by the corresponding consumable. The main operation includes a first main operation, which corresponds to multiple first consumables. The associated operations of each main operation include operations that are executed before or after the main operation and are dependent on the main operation.
[0164] The determination module 420 is used to determine the execution order of the associated operations of the first main operation based on the correspondence between the ordered operation group, the associated operations of the first main operation and multiple first consumables, and the operation order of the first main operation on multiple first consumables.
[0165] The scheduling module 430 is used to schedule automated processes based at least on the determined execution order.
[0166] According to another aspect of this application, an electronic device is also provided. Figure 5 A schematic block diagram of an electronic device 500 according to an embodiment of this application is shown. As shown, the electronic device 500 includes a processor 510 and a memory 520. The memory 520 stores computer program instructions, which, when executed by the processor 510, are used to perform the scheduling method 1000 of the above-described automated process.
[0167] According to another aspect of this application, a storage medium is also provided. Program instructions are stored on the storage medium, which, when executed, are used to perform the scheduling method 1000 of the aforementioned automated process. The storage medium may, for example, include an erasable programmable read-only memory (EPROM), a portable read-only memory (CD-ROM), a USB memory, or any combination of the above storage media. The storage medium may be any combination of one or more computer-readable storage media.
[0168] Those skilled in the art can understand the specific implementation scheme and beneficial effects of the above-mentioned automated process scheduling system 400, electronic device 500 and storage medium by reading the relevant description of the automated process scheduling method 1000. For the sake of brevity, they will not be described in detail here.
[0169] Although exemplary embodiments have been described herein with reference to the accompanying drawings, it should be understood that the above exemplary embodiments are merely illustrative and are not intended to limit the scope of this application. Various changes and modifications can be made therein by those skilled in the art without departing from the scope and spirit of this application. All such changes and modifications are intended to be included within the scope of this application as claimed in the appended claims.
[0170] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0171] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed.
[0172] Numerous specific details are set forth in the specification provided herein. However, it will be understood that embodiments of this application may be practiced without these specific details. In some instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of this specification.
[0173] Similarly, it should be understood that, in order to simplify this application and aid in understanding one or more of the various inventive aspects, features of this application are sometimes grouped together in a single embodiment, figure, or description thereof in the description of exemplary embodiments of this application. However, this approach should not be construed as reflecting an intention that the claimed application requires more features than are expressly recited in each claim. Rather, as reflected in the corresponding claims, the inventive point lies in solving the corresponding technical problem with fewer features than all of those in a single disclosed embodiment. Therefore, the claims following the detailed description are hereby expressly incorporated into that detailed description, wherein each claim itself is a separate embodiment of this application.
[0174] Those skilled in the art will understand that, apart from the mutual exclusion of features, all features disclosed in this specification (including the accompanying claims, abstract, and drawings) and all processes or units of any method or apparatus so disclosed can be combined in any combination. Unless expressly stated otherwise, each feature disclosed in this specification (including the accompanying claims, abstract, and drawings) may be replaced by an alternative feature that serves the same, equivalent, or similar purpose. Furthermore, those skilled in the art will understand that although some embodiments described herein include certain features included in other embodiments but not others, combinations of features from different embodiments are meant to be within the scope of this application and form different embodiments. For example, any of the claimed embodiments in the claims can be used in any combination. Various component embodiments of this application can be implemented in hardware, or as software modules running on one or more processors, or a combination thereof. Those skilled in the art will understand that microprocessors or digital signal processors (DSPs) can be used in practice to implement some or all of the functions of some modules in a scheduling system for automated processes according to embodiments of this application. This application can also be implemented as an apparatus program (e.g., a computer program and computer program product) for performing part or all of the methods described herein. Such a program implementing this application may be stored on a computer-readable medium, or may take the form of one or more signals. Such signals may be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
[0175] The above description is merely a specific embodiment or illustration of the embodiments of this application. The scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. The scope of protection of this application shall be determined by the scope of the claims.
Claims
1. A scheduling method for an automated process, characterized in that, include: An ordered operation group for an automated process is obtained, wherein the operations in the ordered operation group are dependent on each other according to the order of execution. The ordered operation group includes at least one main operation and associated operations of the main operation. The main operation is the main functional operation performed by the main equipment in the automated process for the sample carried by the corresponding consumable. The main operation includes a first main operation, which corresponds to multiple first consumables. The associated operations of each main operation include operations executed before or after the main operation and which are dependent on the main operation. Based on the ordered operation group, the correspondence between the associated operations of the first main operation and the plurality of first consumables, and the operation order of the first main operation on the plurality of first consumables, the execution order of the associated operations of the first main operation is determined, wherein, in the determined execution order, the operation order corresponding to the preceding consumable among the plurality of first consumables is first, and the operation order corresponding to the following consumable among the plurality of first consumables is last; and The automated process is scheduled at least based on the determined execution order; The step of determining the execution order of the associated operations of the first main operation includes: Based on the dependencies of serial operations in the ordered operation group, determine the adjacent primary operations of the first primary operation in the ordered operation group; based on the adjacent primary operations of the first primary operation, the ordered operation group, and the correspondence, determine the associated operations of the first primary operation; and Based on the dependency relationship, the operation order of the first main operation on the plurality of first consumables, and the correspondence relationship, the execution order of the associated operations of the first main operation is determined; Determining the adjacent master operations of the first master operation in the ordered operation group includes: determining each first master operation in the ordered operation group based on the multiple-input multiple-output device nodes of the automated process.
2. The scheduling method for automated processes as described in claim 1, characterized in that, The adjacent main operations of the first main operation include the previous adjacent main operation that is closest to the first main operation before the first main operation, and / or the adjacent main operations of the first main operation include the next adjacent main operation that is closest to the first main operation after the first main operation; the associated operations of the first main operation include the previous associated operations and / or the subsequent associated operations; the previous associated operations of the first main operation include operations executed before the first main operation and having a dependency relationship with the first main operation, and the subsequent associated operations of the first main operation include operations executed after the first main operation and having a dependency relationship with the first main operation; The pre-association operation and the post-association operation of the first main operation both correspond to at least a portion of the plurality of first consumables.
3. The scheduling method for automated processes as described in claim 2, characterized in that, The step of determining the associated operation of the first main operation includes: Based on the ordered operation group and the determined preceding adjacent primary operations, determine the preceding set consisting of the preceding associated operations of the first primary operation and / or based on the ordered operation group and the determined following adjacent primary operations, determine the following set consisting of the following associated operations of the first primary operation. Determining the execution order of associated operations of the first main operation includes: The operations in the front set are sorted according to the dependency to obtain the pre-initial list of the first main operation and / or the operations in the back set are sorted according to the dependency to obtain the post-initial list of the first main operation, wherein the order of different operations performed for the same first consumable in the initial list is the same as the dependency. Based on the order of operations performed on the plurality of first consumables by the first main operation and the corresponding relationship, the order of each operation performed on different first consumables in the previous initial list and / or subsequent initial list is updated, and the updated previous list and / or subsequent list are obtained; and The execution order of the preceding associated operations of the first main operation is determined according to the preceding list and / or the execution order of the following associated operations of the first main operation is determined according to the following list.
4. The scheduling method for automated processes as described in claim 3, characterized in that, Determining the pre-set consisting of the pre-associated operations of the first main operation includes: Traverse the ordered group of operations to determine a first initial set consisting of all preceding operations of the first main operation; and The operation corresponding to the first consumable in the subsequent operation of the first main operation adjacent to the first main operation is added to the first initial set to obtain the previous set; and / or The determination of the post-set consisting of the post-associative operations of the first main operation includes: Traverse the ordered group of operations to determine a second initial set consisting of all subsequent operations of the first main operation; and The operation corresponding to the first consumable in the preceding operation of the next adjacent main operation of the first main operation is added to the second initial set to obtain the subsequent set.
5. The scheduling method for automated processes as described in claim 3, characterized in that, The order of operations performed for different first consumables in updating the pre-initial list and / or post-initial list includes: Based on the aforementioned correspondence, determine the first and last operations for each first consumable in the preceding initial list and / or following initial list; and Based on the order of operations performed by the first main operation on the plurality of first consumables, the first operation of the first consumable with the later operation order in the previous initial list and / or the subsequent initial list is placed after the last operation of the first consumable with the earlier operation order.
6. The scheduling method for automated processes as described in any one of claims 1 to 5, characterized in that, Determining the adjacent primary operations of the first primary operation in the ordered operation group includes: Based on the dependencies and correspondences of the serial operations in the ordered operation group, determine a list of adjacent primary operations for each primary operation in the ordered operation group; and Find the adjacent main operation of each first main operation from the adjacent main operation list.
7. The scheduling method for automated processes as described in claim 6, characterized in that, The adjacent primary operation list includes a previous adjacent primary operation list and a subsequent adjacent primary operation list. Determining the adjacent primary operation list for each primary operation in the ordered operation group includes: Based on the device nodes of the automated process, determine each main operation in the ordered operation group and obtain a list of main operations; Based on the association attributes between each node of the automated process and the consumables, determine the correspondence between each operation and the consumables in the ordered operation group; Based on the dependencies of the serial operations in the ordered operation group, the preceding and following operations of each operation are determined, and a list of preceding operations of the preceding operations of each operation and a list of following operations of the following operations of each operation are obtained, wherein the preceding and following operations of each operation are respectively the preceding and following adjacent operations of that operation. Based on the main operation list, the correspondence, and the preceding operation list, determine the preceding adjacent main operation for each consumable for each main operation, to obtain the preceding adjacent main operation list; and Based on the main operation list, the corresponding relationship, and the subsequent operation list, determine the next adjacent main operation for each consumable for each main operation, so as to obtain the next adjacent main operation list.
8. The scheduling method for automated processes as described in claim 7, characterized in that, The determination of each major operation for the preceding adjacent major operation of each corresponding consumable includes: For each major operation Based on the aforementioned correspondence, determine all the second consumables corresponding to this main operation; For each second consumable, a depth-first search algorithm is used to traverse the list of preceding operations, starting from the preceding operation of the main operation corresponding to the second consumable and searching backwards for each first pending operation corresponding to the second consumable. Based on the main operation list, determine whether the first pending operation belongs to the main operation. If it does, then take the first pending operation as the preceding adjacent main operation of the main operation and end the search. and / or The determination of the next adjacent major operation for each major operation for each corresponding consumable includes: For each major operation Based on the aforementioned correspondence, determine all the second consumables corresponding to this main operation; For each second consumable, a depth-first search algorithm is used to traverse the list of subsequent operations, starting from the subsequent operation corresponding to the main operation and searching backwards for each second pending operation corresponding to the second consumable. Based on the main operation list, determine whether the second pending operation belongs to the main operation. If so, treat the second pending operation as the next adjacent main operation and end the search.
9. The scheduling method for automated processes as described in any one of claims 1 to 5, characterized in that, The method further includes: Based on the analysis results of the automated process, the operation order of the first master operation on the plurality of first consumables is determined.
10. A scheduling system for an automated process, characterized in that, include: An acquisition module is used to acquire an ordered operation group of an automated process, wherein the operations in the ordered operation group are dependent on each other according to the order of execution. The ordered operation group includes at least one main operation and associated operations of the main operation. The main operation is the main functional operation performed by the main equipment in the automated process for the sample carried by the corresponding consumable. The main operation includes a first main operation, which corresponds to multiple first consumables. The associated operations of each main operation include operations executed before or after the main operation and which are dependent on the main operation. The determining module is configured to determine the execution order of the associated operations of the first main operation based on the ordered operation group, the correspondence between the associated operations of the first main operation and the plurality of first consumables, and the operation order of the first main operation on the plurality of first consumables, wherein the determined execution order corresponds to the order of operations on the preceding consumables among the plurality of first consumables first, and the order of operations on the following consumables among the plurality of first consumables second; and A scheduling module is used to schedule the automated process based at least on the determined execution order; The step of determining the execution order of the associated operations of the first main operation includes: Based on the dependencies of serial operations in the ordered operation group, determine the adjacent primary operations of the first primary operation in the ordered operation group; based on the adjacent primary operations of the first primary operation, the ordered operation group, and the correspondence, determine the associated operations of the first primary operation; and Based on the dependency relationship, the operation order of the first main operation on the plurality of first consumables, and the correspondence relationship, the execution order of the associated operations of the first main operation is determined; Determining the adjacent master operations of the first master operation in the ordered operation group includes: determining each first master operation in the ordered operation group based on the multiple-input multiple-output device nodes of the automated process.
11. An electronic device comprising a processor and a memory, characterized in that, The memory stores computer program instructions, which, when executed by the processor, are used to perform the scheduling method for the automated process as described in any one of claims 1 to 9.
12. A storage medium on which program instructions are stored, characterized in that, The program instructions, when executed, are used to perform the scheduling method for the automated process as described in any one of claims 1 to 9.
Citation Information
Patent Citations
Scheduling control method, device and equipment and computer readable storage medium
CN115577997A
Sectional scheduling method and system, controller and machine readable storage medium
CN116882652A