Scheduling method for automated process, system, electronic device, and storage medium
By obtaining the ordered operation group of the automated process and determining the execution order of the main operation and associated operations, the problem of the existing technology being difficult to cope with the required sequence is solved, and the accurate scheduling and efficient operation of the automated process are achieved.
Patent Information
- Application Number
- PCT/CN2024/141120
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-22
- Filing Date
- 2024-12-20
- Publication Date
- 2025-06-26
AI Technical Summary
The existing automated process scheduling methods are difficult to cope with scenarios with required order, resulting in unreasonable allocation of equipment operations.
By obtaining an ordered operation group of the automation process, the execution order of the main operation and its associated operations is determined, and the automation process is scheduled based on these orders.
It realizes accurate scheduling in various required sequence scenarios in the automated process, improving scheduling efficiency and user experience.
Smart Images

Figure CN2024141120_26062025_PF_FP_ABST
Abstract
Description
Automated process scheduling method and system, electronic device and storage medium
[0001] This application claims priority to the Chinese patent application with application number 202311791005.6 filed with the China Patent Office on December 22, 2023, and application name “Scheduling method and system for automated processes, electronic device and storage medium”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of automation technology, and in particular, to a scheduling method for an automation process, a scheduling system for an automation process, an electronic device, and a storage medium. Background Art
[0003] The field of automation technology often involves scheduling automated processes. Scheduling automated processes can also require certain ordering requirements. For example, the order in which different consumables enter and exit a multi-input, multi-output device must meet certain requirements, or the order in which the occupancy and release of a multi-input, multi-output device must meet certain requirements.
[0004] Existing scheduling methods for automated processes do not consider the above-mentioned scenarios requiring a certain order, and therefore their scheduling methods are unable to cope with these scenarios requiring a certain order, resulting in unreasonable allocation of device operations in the device pool. Summary of the Invention
[0005] In order to at least partially solve the problems existing in the prior art, according to a first aspect of the present application, a method for scheduling an automated process is provided, comprising:
[0006] Obtaining an ordered operation group of an automated process, wherein each operation in the ordered operation group has a dependency relationship based on the order of execution, and the ordered operation group includes at least one main operation and associated operations of the main operation. The main operation is a primary functional operation performed by a primary device in the automated process on a sample carried by a corresponding consumable. The main operation includes a first main operation, and the first main operation corresponds to multiple first consumables. The associated operations of each main operation include operations that are executed before or after the main operation and have a dependency relationship with the main operation.
[0007] Determining an execution order of the associated operations of the first main operation according to the ordered operation group, a correspondence between the associated operations of the first main operation and the plurality of first consumables, and an operation order of the first main operation on the plurality of first consumables; and
[0008] The automation process is scheduled based at least on the determined execution sequence.
[0009] In a possible implementation, determining the execution order of the associated operations of the first main operation includes:
[0010] Determine, based on the dependency relationship of the serial operations in the ordered operation group, an adjacent main operation of the first main operation in the ordered operation group;
[0011] Determining associated operations of the first main operation based on adjacent main operations, ordered operation groups, and corresponding relationships of the first main operation; and
[0012] An execution order of the associated operations of the first main operation is determined according to the dependency relationship, the operation sequence of the first main operation on the plurality of first consumables, and the corresponding relationship.
[0013] In one possible embodiment, the adjacent main operations of the first main operation include the front adjacent main operation that is before the main operation and is closest to the main operation and / or the rear adjacent main operation that is after the main operation and is closest to the main operation; the associated operations of the first main operation include the front associated operation and / or the rear associated operation; the front associated operation of the first main operation includes the operation that is executed before the first main operation and has a dependent relationship with the first main operation, and the rear associated operation of the first main operation includes the operation that is executed after the first main operation and has a dependent relationship with the first main operation; the front associated operation and the rear associated operation of the first main operation both correspond to the first consumable.
[0014] In a possible implementation, determining the associated operation of the first main operation includes:
[0015] Determine a front set consisting of operations preceding the first main operation according to the ordered operation group and the determined front adjacent main operation, and / or determine a rear set consisting of operations following the first main operation according to the ordered operation group and the determined rear adjacent main operation;
[0016] Determining the execution order of the associated operations of the first main operation, including:
[0017] sorting the operations in the front set according to the dependency relationship to obtain a front initial list of the first main operation and / or sorting the operations in the rear set according to the dependency relationship to obtain a rear initial list of the first main operation, wherein in the initial list, the order of different operations performed on the same first consumable is the same as the dependency relationship;
[0018] updating the order of operations performed on different first consumables in the front initial list and / or the back initial list according to the operation order and correspondence of the first main operation on the plurality of first consumables, and obtaining an updated front list and / or back list, wherein in the front list and the back list, the order of operations corresponding to the front consumable is in front, and the order of operations corresponding to the back consumable is in the back; and
[0019] The execution order of the operations preceding the first main operation is determined according to the front list and / or the execution order of the operations following the first main operation is determined according to the back list.
[0020] In one possible implementation, determining a front set consisting of front-associated operations of the first main operation includes:
[0021] Traversing the ordered operation group, determining a first initial set consisting of all preceding operations of the first main operation; and
[0022] Adding operations corresponding to the first consumable in subsequent operations of the preceding adjacent main operation of the first main operation to the first initial set to obtain a preceding set;
[0023] and / or
[0024] Determine a post-set consisting of post-associated operations of the first main operation, including:
[0025] Traversing the ordered operation group to determine a second initial set consisting of all subsequent operations of the first main operation; and
[0026] The operation corresponding to the first consumable in the preceding operation of the subsequent adjacent main operation of the first main operation is added to the second initial set to obtain a subsequent set.
[0027] In a possible implementation, the order of operations performed on different first consumables in the pre-initial list and / or the post-initial list is updated, including:
[0028] Determining, based on the corresponding relationship, the first operation and the last operation corresponding to each first consumable in the front initial list and / or the rear initial list; and
[0029] According to the operation order of the first main operation on multiple first consumables, the first operation of the first consumable with a later operation order in the front initial list and / or the rear initial list is placed after the last operation of the first consumable with an earlier operation order.
[0030] In one possible implementation, determining an adjacent main operation of a first main operation in an ordered operation group includes:
[0031] Determine a 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;
[0032] Determining each first main operation in the ordered operation group according to the multi-input and multi-output device nodes of the automation process; and
[0033] The adjacent main operations of each first main operation are searched from the adjacent main operation list respectively.
[0034] In a possible implementation, the adjacent main operation list includes a preceding adjacent main operation list and a following adjacent main operation list. Determining the adjacent main operation list for each main operation in the ordered operation group includes:
[0035] According to the equipment nodes of the automation process, determine each main operation in the ordered operation group and obtain the main operation list;
[0036] According to the associated attributes of each node in the automation process and the consumables, determine the corresponding relationship between each operation and consumables in the ordered operation group;
[0037] Determine the preceding operation and the following operation of each operation according to the dependency relationship of the serial operations in the ordered operation group, and obtain a preceding operation list of the preceding operation of each operation and a following operation list of the following operation of each operation, wherein the preceding operation and the following operation of each operation are the preceding adjacent operation and the following adjacent operation of the operation, respectively;
[0038] Determine, according to the main operation list, the corresponding relationship, and the preceding operation list, the preceding adjacent main operation for each corresponding consumable of each main operation to obtain a preceding adjacent main operation list; and
[0039] According to the main operation list, the corresponding relationship, and the subsequent operation list, the subsequent adjacent main operation for each corresponding consumable of each main operation is determined to obtain a subsequent adjacent main operation list.
[0040] In a possible implementation, determining the previous adjacent main operation of each main operation for each corresponding consumable includes:
[0041] For each main operation,
[0042] Determine all second consumables corresponding to the main operation according to the corresponding relationship;
[0043] For each second consumable, use a depth-first search algorithm to traverse the list of previous operations, starting from the previous operation of the main operation corresponding to the second consumable, and search forward in sequence for each first pending operation corresponding to the second consumable;
[0044] Determine whether the first pending operation belongs to a main operation according to the main operation list; if so, use the first pending operation as the previous adjacent main operation of the main operation and end the search;
[0045] and / or
[0046] Determining the subsequent adjacent main operation for each corresponding consumable of each main operation includes:
[0047] For each main operation,
[0048] Determine all second consumables corresponding to the main operation according to the corresponding relationship;
[0049] For each second consumable, use a depth-first search algorithm to traverse the subsequent operation list, starting from the subsequent operation of the main operation corresponding to the second consumable and searching backward for each second pending operation corresponding to the second consumable;
[0050] It is determined according to the main operation list whether the second pending operation belongs to the main operation. If so, the second pending operation is used as the subsequent adjacent main operation of the main operation and the search is terminated.
[0051] In one possible implementation, the method further includes:
[0052] Based on the analysis result of the automation process, an operation order of the first main operation on the plurality of first consumables is determined.
[0053] According to a second aspect of the present application, there is provided a scheduling system for an automated process, characterized by comprising:
[0054] An acquisition module is configured to acquire an ordered operation group of an automated process, wherein the operations in the ordered operation group have a dependency relationship based on 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 on 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 have a dependency relationship with the main operation.
[0055] a determining module, configured to determine an execution order of the associated operations of the first main operation according to the ordered operation group, a correspondence between the associated operations of the first main operation and the plurality of first consumables, and an operation order of the first main operation on the plurality of first consumables; and
[0056] A scheduling module is configured to schedule the automation process based at least on the determined execution sequence.
[0057] According to a third aspect of the present application, an electronic device is provided, comprising a processor and a memory, wherein the memory stores computer program instructions, and the computer program instructions are used by the processor to execute the scheduling method of the above-mentioned automated process when the processor is running.
[0058] According to a fourth aspect of the present application, a storage medium is provided, on which program instructions are stored. The program instructions are used to execute the above-mentioned scheduling method for the automated process when running.
[0059] As mentioned above, the existing scheduling methods for automated processes do not take into account the scenarios requiring the above-mentioned order, so their scheduling methods are difficult to cope with the scenarios requiring the above-mentioned order, resulting in unreasonable allocation of equipment operations in the equipment pool. According to the above-mentioned scheme of the embodiment of the present application, on the basis of obtaining the ordered operation group of the automated process, the operation order of the consumables required in advance is fully considered, and the first main operation corresponding to each of the multiple consumables is used as the benchmark. According to the ordered operation group and the corresponding relationship 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 accurate scheduling of the entire automated process. This scheme can achieve accurate scheduling in various scenarios requiring the above-mentioned order in the automated process. The scheduling logic is simple and reasonable, the amount of calculation is small, and the scheduling efficiency is also high. Therefore, it fully meets the diversified needs of the business in the automated process and provides a better user experience.
[0060] The Summary of the Invention introduces a series of simplified concepts that will be further described in detail in the Detailed Description of the Invention. This Summary of the Application does not intend to limit the key features and essential technical features of the claimed technical solution, nor does it intend to determine the scope of protection of the claimed technical solution.
[0061] The advantages and features of the present application are described in detail below with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0062] The following drawings of this application are hereby incorporated as part of this application for understanding this application. The drawings show the embodiments of this application and their descriptions, and are used to explain the principles of this application. In the drawings,
[0063] FIG1 is a schematic flow chart showing a method for scheduling an automated process according to an embodiment of the present application;
[0064] FIG2 a shows a flow chart of an automation process according to one embodiment of the present application;
[0065] FIG2 b shows a flow chart of an automation process according to another embodiment of the present application;
[0066] FIG3 shows a flow chart of a method for scheduling an automated process according to another embodiment of the present application;
[0067] FIG4 shows a schematic block diagram of a scheduling system for an automated process according to an embodiment of the present application; and
[0068] FIG5 shows a schematic block diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0069] In the following description, a large amount of details are provided to enable a thorough understanding of the present application. However, it will be appreciated by those skilled in the art that the following description is merely illustrative of preferred embodiments of the present application, and the present application may be implemented without one or more of these details. In addition, in order to avoid confusion with the present application, some technical features well known in the art are not described in detail.
[0070] To at least partially address the above technical issues, according to a first aspect of the present application, a method for scheduling an automated process is provided. The scheduling method according to an embodiment of the present application can be applied to automated processes for various suitable objectives in various fields. For simplicity, the following explanation is based on an automated process in a laboratory automation system as an example.
[0071] According to the embodiment of the present application, the automated process includes at least one multi-input and multi-output device. As the name implies, multi-input can be understood as multiple consumables entering the device, and multi-output can be similarly understood as multiple consumables being transported out of the device. It can be understood that for a multi-input and multi-output device, the number of consumables it needs to process is multiple. In some scenarios, the order in which the device operates consumables needs to meet certain requirements. For example, for some multi-input and multi-output devices, the space for storing consumables at its entrance may be limited. Therefore, consumables need to enter the device in a certain order to avoid the position at the device entrance being occupied by other consumables when the consumables need to process a certain consumable, thereby causing equipment misoperation or process confusion. Of course, it may also be due to other reasons that consumables need to enter the device in a certain order. In the embodiment of the present application, the order in which the multi-input and multi-output device processes consumables is pre-set. On the basis of fully considering the order in which the device processes consumables, each operation in the automated process is scheduled.
[0072] Fig. 1 shows a schematic flow chart of a method 1000 for scheduling an automated process according to an embodiment of the present application. As shown in the figure, the method 1000 includes steps S1200, S1400, and S1600.
[0073] Step S1200, obtain an ordered operation group of the automated process. Among them, each operation in the ordered operation group has a dependency relationship based on the order of execution. For example, the start execution time of the operation executed later depends on the end time of the operation executed earlier, so that the operation executed later and the operation executed earlier have a dependency relationship. 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 on the sample carried by the corresponding consumables. The main operation includes a first main operation. The first main operation corresponds to multiple first consumables. The associated operations of each main operation include operations that are executed before or after the main operation and have a dependency relationship with the main operation.
[0074] The following example illustrates a key piece of equipment in an automated process: a microplate reader. In an automated process, a microplate reader performs labeling operations, such as adding samples to consumables and incubating reactions. Therefore, labeling is considered the primary operation. Before labeling, the instrument's door must be opened and closed. These operations are referred to as pre-operations. Similarly, after labeling, the door must be opened and closed, which are referred to as post-operations. For a key piece of equipment, these pre- and post-operations can be performed by the instrument itself or by another device. Furthermore, in this example, consumables can only be brought into the instrument after the instrument's door is open. The instrument then closes and labeling is performed. After the labeling is complete, the instrument opens again, and the labeled consumables are removed from the instrument, and the instrument closes. It is understood that, for microplate reader, each front operation of microplate reader needs to be performed before the enzyme labeling operation, and each rear operation of microplate reader needs to be performed after the enzyme labeling operation, therefore, the front operation and rear operation of microplate reader have a dependency relationship with the enzyme labeling operation. In the embodiment of the present application, the front operation and rear operation of microplate reader can be used as the associated operation of the enzyme labeling operation. It is understood that the automation process usually includes a plurality of devices, and therefore there is a situation in which a plurality of devices process a consumable material in sequence. For example, consumable material A first enters the microplate reader after being processed by the liquid transfer station. In this case, the main operation of the liquid transfer station is pipetting. For consumable material A, pipetting needs to be performed before the enzyme labeling operation, therefore, there is also a dependency relationship between the pipetting and the enzyme labeling operation of consumable material A. Pipetting and the enzyme labeling operation are both main operations, and the pipetting operation can be referred to as the preceding adjacent main operation of the enzyme labeling operation. After consumable A is performed a pipetting operation (for example, sample is transferred to this consumable from other consumables), it is also necessary to perform a transfer operation to consumable A, for example, consumable A is transferred to the outlet plate position of the device and / or consumable A is transferred to the inlet plate position of the microplate reader by a mechanical arm. It is understandable that the transfer operation performed on consumable A after the pipetting operation belongs to the post-operation of the pipetting workstation. These operations need to be performed before the enzyme labeling operation, so there is also a dependency relationship between these operations and the enzyme labeling operation, and these operations also belong to the associated operations of the enzyme labeling operation. Thereby, the associated operations of the main operation of the main equipment also include the post-operation performed by the main equipment of the preceding adjacent main operation of the main operation to the same consumable. It is understandable that this same consumable is the same consumable that two main operations are to be processed. In other words, these two main operations correspond to the same consumable. According to a similar principle, the associated operations of the main operation of the main equipment can also include the post-operation performed by the main equipment of the following adjacent main operation of the main operation to the same consumable. Generally speaking, the associated operations of each main operation include the operations that have a dependency relationship with the main operation performed before and / or after the main operation.
[0075] For example, for some devices, the main operation only processes one consumable. For other devices, such as multi-input and multi-output devices, multiple consumables need to be processed within a certain time period. For devices that need to process multiple consumables, for ease of distinction, in the embodiment of the present application, this main operation can be referred to as the first main operation. And the multiple consumables corresponding to or associated with the first main operation can be referred to as first consumables. Taking the pipetting workstation as an example, the first consumables can include two consumables: a pipette tip and a well plate. For simplicity, these two consumables can be referred to as associated consumables of the pipetting operation.
[0076] The ordered operation group in the automated process can be an ordered set of operations performed by each device in the automated process. It is understood that in this set, there is a dependency relationship between the various operations performed for the same consumable. The order of different operations with a dependency relationship in the ordered operation group corresponds to the order in which the automated process performs these operations. For example, for consumable A, the pipetting operation, the operation of transferring the consumable to the exit plate position, the operation of transferring the consumable to the entrance plate position of the microplate reader, the microplate reader door opening operation, the microplate reader door closing operation, the enzyme labeling operation, the microplate reader door opening operation, and the microplate reader door closing operation can all be operations in the ordered operation group. These operations must be performed in sequence and cannot be reversed. It is understood that in the case of a multi-input and multi-output device requiring multiple consumables, the operations performed for different consumables may or may not have a dependency relationship. For example, if a microplate reader is associated with consumables A and consumables B, the previous operation performed by the microplate reader for consumable A and the previous operation performed for consumable B may not have a dependency relationship. However, since there is a dependency between the pre-operation and the main operation performed by the microplate reader on consumable A, and a dependency between the main operation and the post-operation performed by the microplate reader on consumable B, and the microplate reader processes consumables A and B simultaneously, in this case, there is an indirect dependency between the pre-operation performed by the microplate reader on consumable A and the post-operation performed by the microplate reader on consumable B. Therefore, in the ordered operation group, the pre-operation performed by the microplate reader on consumable A comes first, and the post-operation performed by the microplate reader on consumable B comes last.
[0077] According to embodiments of the present application, any suitable method can be used to obtain an ordered set of operations for 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 the automated process is running, the automated process can be parsed to obtain an ordered set of operations. Figure 2a illustrates a partial flow chart of an automated process according to one embodiment. As shown in Figure 2a, a process consisting of multiple operations is shown. As can be seen from the figure, operations 1 and 2 each have a dependency relationship with operation 3. Operations 4 and 5 each have a dependency relationship with operation 3. Operations 6 and 7 each have a dependency relationship with operation 8. Operations 9 and 10 each have a dependency relationship with operation 8. Furthermore, operations 5 and 9 each have a dependency relationship with operation 11. Operations 12 and 13 each have a dependency relationship with operation 11. Operations 3, 8, and 11 are all first main 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. Operation 5, operation 9, operation 12 and operation 13 are associated operations of operation 11. Exemplarily, after parsing the process, an ordered operation group consisting of these operations can be obtained. Refer to Table 1 below. As shown in Table 1, the first column can be regarded as an example of a list of each operation in the ordered operation group obtained after parsing the flowchart of Figure 2a. It can be understood that the order of each operation that does not have a dependency relationship in the ordered operation group can be determined according to actual conditions. Therefore, in other examples, operations that do not have a dependency relationship can also have other orders. For example, in the ordered operation group, operation 2 can also come first, and operation 1 can come later.
[0078] For example, when a user edits an automated process using process editing software, they can define the properties of the consumables associated with each operation through the human-computer interaction interface. During this step, by parsing the automated process, the corresponding relationship between each operation and consumable in the operation group can also be obtained. As shown in Table 1, each first main operation in Figure 2a can be associated with multiple consumables, while each associated operation of the first main operation can be associated with a single consumable. The device for the first main operation shown in Figure 2a can be a multi-input, multi-output device.
[0079] Table 1
[0080] Step S1400 : determining an execution order of the associated operations of the first main operation according to 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.
[0081] It can be understood that the operation order of the first main operation on multiple first consumables represents the order in which the device of the first main operation processes the multiple first consumables. For example, the operation order of the first main operation on multiple first consumables can be determined based on the analysis results of the automation process. This is because the user has determined the operation order of the first consumables associated with the corresponding first main operation when the automation process is established. Therefore, the operation order of the first main operation on multiple first consumables can be obtained by parsing the automation process. For example, before running the automation process, the user can edit the process using process editing software, and can use the human-computer interaction interface to set the order in which the first main operation operates the first consumables. And this order is stored in the execution script of the automation process as the operation consumable attribute of the first main operation. When running the automation process, the order in which the first main operation operates the first consumables can be obtained by parsing the automation process.
[0082] In this step, any suitable determination logic can be used to determine the first main operation based on the ordered operation group, the corresponding relationship between 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. By way of example and not limitation, first, all main operations in the ordered operation group can be determined based on the parsing results of the automated process. Then, for each main operation, the adjacent main operations with indirect dependencies on the main operation can be found based on the dependencies between the various operations in the ordered operation group. Specifically, the main operation that is executed before the main operation and is closest to the main operation in the ordered operation group can be found as the preceding adjacent main operation of the 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 of the main operation. Then, based on the corresponding relationship between each main operation and the consumables, the main operation of the multi-input and multi-output device, i.e., the first main operation in the embodiment of the present application, can be determined. For example, the three main operations in Table 1 can all be used as the first main operation. Thereafter, the associated operations of each first main operation can be determined. Specifically, for each first main operation, using each first consumable corresponding to the first main operation as a reference, all operations in the ordered operation group that are associated with the first consumable and whose execution order is between the first main operation's preceding adjacent main operation and the first main operation can be searched for as the preceding associated operations of the first main operation. Furthermore, 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 the first main operation's following adjacent main operation can be searched for as the following associated operations of the first main operation. For example, the operation set formed by all the determined preceding associated operations of the first main operation can be used as the preceding set of the first main operation. Furthermore, the operation set formed by all the determined following associated operations of the first main operation can be used as the following set of the first main operation. Thus, the preceding set and following set of each first main operation can be determined. It will be understood that the preceding set of each first main operation includes at least the preceding operations of the primary device of the first main operation and may also include the operations performed on the consumable associated with the first main operation in the following operations of the primary device of the preceding adjacent main operation. Similarly, the post-set of each first main operation includes at least the post-operations of the main device of the first main operation, and may also include the operations performed on the consumables associated with the first main operation in the pre-operations of the main device of the post-adjacent main operation of the first main operation. Then, the order of the dependent operations in the front set and the back set can be adjusted to obtain the front list and the back list. In other words, the order of the operations in the front list and the back list is the same as the order of these operations in the ordered operation group. Afterwards, the order of the operations in the front list and the back list of each first main operation can be adjusted according to the correspondence between the operations and the consumables and the order of operations of each first main operation on the consumables (first consumables).For example, a supplementary dependency relationship can be established between the operations performed on different consumables in the front list or the back list based on the order in which the first main operation operates on the consumables. Thus, the order of the operations in the corresponding list can be determined based on the supplementary dependency relationship. The supplementary dependency relationship can be any suitable dependency relationship that satisfies the order in which the first main operation operates on the consumables.
[0083] The following is an example of the front list of any first main operation. Optionally, the first and last steps of each operation for each consumable in the front list can be determined. For example, if the first main operation needs to operate 2 consumables, the first operation (for the sake of convenience, it can be called the first operation) and the last operation (for the sake of convenience, it can be called the tail operation) of each operation for these two consumables in the front list can be determined respectively. Then, according to the operation order of the consumables by the first main operation, the tail operation for the previous consumable and the first operation for the next consumable can be established to establish their dependency, and a supplementary dependency relationship can be obtained. In this way, according to the supplementary dependency relationship, the execution order of each operation in the front list can be determined as follows: all operations for the previous consumable are executed first, and all operations for the next consumable are executed later. It can be understood that in this example, in the front list, the execution order of each operation performed for different consumables is serial. Alternatively, the operation of the entrance board position of the main equipment that may occupy the first main operation can also be found from the front list. Then, the first operation and the last operation for each consumable can be determined only for these operations that may occupy the equipment entrance board position (for the sake of simplicity, they can be called occupation operations). And according to the above method, according to the order in which the equipment operates the consumables, the last operation for the previous consumable and the first operation for the next consumable in these occupation operations can be established with their dependency relationship, and a supplementary dependency relationship can be obtained. In this way, according to the supplementary dependency relationship, the execution order of each operation in the front list can be determined as follows: all occupation operations for the previous consumable are executed first, and all occupation operations for the next consumable are executed later. It can be understood that in this example, among the operations performed on different consumables, only the occupation operation is serial, while the non-occupancy operations (other operations except the occupation operation in the front list) can be parallel.
[0084] Step S1600, scheduling the automated process based at least on the determined execution order. It is understandable that the ordered operation group of the automated process may also include the main operation, front operation and back operation of non-MIMO equipment or the main operation, front operation and back operation of other MIMO equipment that do not require the order of consumables. For these operations, the front list and back list of each main operation can also be determined according to the above-mentioned method for determining the front list and back list of the first main operation. Ultimately, the automated process can be scheduled based on the order of each operation in the front list and back list of each main operation including the first main operation, and the dependency relationship between each main operation.
[0085] As mentioned above, the existing scheduling methods for automated processes do not take into account the scenarios requiring the above-mentioned order, so their scheduling methods are difficult to cope with the scenarios requiring the above-mentioned order, resulting in unreasonable allocation of equipment operations in the equipment pool. According to the above-mentioned scheme of the embodiment of the present application, on the basis of obtaining the ordered operation group of the automated process, the operation order of the consumables required in advance is fully considered, and the first main operation corresponding to each of the multiple consumables is used as the benchmark. According to the ordered operation group and the corresponding relationship 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 accurate scheduling of the entire automated process. This scheme can achieve accurate scheduling in various scenarios requiring the above-mentioned order in the automated process. The scheduling logic is simple and reasonable, the amount of calculation is small, and the scheduling efficiency is also high. Therefore, it fully meets the diversified needs of the business in the automated process and provides a better user experience.
[0086] Exemplarily, in step S1400 , determining the execution order of the associated operations of the first main operation may include step S1410 , step S1420 , and step S1430 .
[0087] In step S1410 , 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 a preceding adjacent main operation that is closest to the main operation and / or a succeeding adjacent main operation that is closest to the main operation and follows the main operation.
[0089] Continuing with Figure 2a and Table 1, as previously mentioned, operations 3, 8, and 11 are all first main operations. Therefore, for operation 3, operation 11 is its adjacent main operation and also its subsequent adjacent main operation. For operation 8, operation 11 is its adjacent main operation and also its subsequent adjacent main operation. For operation 11, operations 3 and 8 are both its preceding adjacent main operations.
[0090] According to the embodiment of the present application, various appropriate determination logics may be used to determine the adjacent main operations of each first main operation in the ordered operation group, and the present application does not limit this.
[0091] In one example, a main operation list consisting of each main operation can be generated based on the attributes and dependencies of the operations in the ordered operation group. Then, based on the dependencies of the operations in the ordered operation group, a list of adjacent main operations for each main operation can be determined. Finally, the adjacent main operation list for the first main operation of the multi-input multi-output device is searched from the adjacent main operation lists of all main operations.
[0092] By way of example and not limitation, step S1410 determines adjacent main operations of the first main operation in the ordered operation group, including step S1411 , step S1412 , and step S1413 .
[0093] Step S1411 : determining a list of adjacent main operations for each main operation in the ordered operation group according to the dependency relationship and the correspondence relationship of the serial operations in the ordered operation group.
[0094] Serial operations are operations with dependencies. In this step, each operation shown in Table 1 can be traversed. Based on the attributes of each operation, the associated consumables of each operation, and the order of the dependent operations in the ordered operation group, a list of adjacent main operations for each main operation can be determined. For example, a list of main operations consisting of each main operation can be generated based on the attributes and dependencies of the operations in the ordered operation group. Then, a list of correspondences between each operation and consumables, such as shown in Table 1, can be generated. Next, a list of predecessor operations and subsequent operations can be generated for each operation based on the dependent operations in the ordered operation group. The predecessor operation of each operation is the operation that is executed before the operation and has a direct dependency relationship with the operation. For example, the predecessor operation can be the operation that has a dependency relationship with the operation in the ordered operation group and is the previous operation of the operation. Similarly, the subsequent operation of each operation is the operation that is executed after the operation and has a direct dependency relationship with 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 predecessor operation list, and the subsequent operation list.
[0095] Exemplarily, step S1411 may include step S1411a, step S1411b, step S1411c, step S1411d, and step S1411e.
[0096] Step S1411a: Determine each main operation in the ordered operation group according to the device node of the automation process, and obtain a main operation list. In the embodiment shown in FIG2a , the main operations include operation 3, operation 8, and operation 11.
[0097] Step S1411b determines the correspondence between each operation and consumable in the ordered operation group based on the associated attributes between each node in the automated process and the consumable. As shown in Table 1, the correspondence between each operation and consumable can be listed, making it easier to trace the upstream and downstream operations of each main operation based on the flow of consumables.
[0098] Step S1411c determines the predecessor and successor operations of each operation based on the dependency relationships of the serial operations in the ordered operation group, and obtains a predecessor operation list for each operation and a successor operation list for each operation. The predecessor and successor operations of each operation are the preceding and succeeding operations of the operation, respectively. In other words, the predecessor operation is the most recent operation with a dependency relationship before the current operation, and the successor operation is the most recent operation with a dependency relationship after the current operation. That is, for the current operation, execution of the current operation begins after the predecessor operation completes, and execution of the successor operation begins after the current operation completes.
[0099] According to the example shown in FIG. 2 a and Table 1 above, the preceding operation and the subsequent operation of each operation shown in Table 2 below can be determined according to the dependency relationship of the serial operations in the ordered operation group.
[0100] Table 2
[0101] As shown in Table 2, operations 1 and 2 have no preceding operations, operation 3 has two preceding operations, and operations 4 and 5 both have operation 3 as their preceding operations. Therefore, we can create a dictionary of preceding operations by using the operation as the key and the preceding operations of the operation as the value.
[0102] Step S1411d: Determine the previous adjacent main operation for each consumable corresponding to each main operation according to the main operation list, the corresponding relationship, and the previous operation list, to obtain a previous adjacent main operation list.
[0103] According to an embodiment of the present application, any appropriate method may be used to determine the preceding adjacent main operation of each main operation for each corresponding consumable according to the main operation list, the corresponding relationship, and the preceding operation list.
[0104] In one example, step S1411d may include steps S1411d.1 to S1411d.3.
[0105] Step S1411d.1, for each main operation, all the second consumables corresponding to the main operation can be determined based on the corresponding relationship. For the sake of distinction, the second consumables specifically refer to the consumables processed by the current main operation. It can be understood that when the current main operation is the first main operation, the second consumable can be the first consumable, and when the current main operation is not the first main operation, the second consumable is not the first consumable. Taking the current main operation as operation 3 as an example, its corresponding second consumables are consumables 1 and consumables 2. According to an embodiment of the present application, a list of correspondences between each operation and consumables in an ordered operation group can be determined first, and then the consumables corresponding to each main operation can be found from the list.
[0106] Step S1411d.2: For each second consumable, use a depth-first search algorithm to traverse the predecessor operation list, starting from the predecessor operation of the main operation corresponding to the second consumable and searching forward for each first pending operation corresponding to the second consumable.
[0107] For example, referring to Table 1, we can use consumable 1 as a reference and search from operation 3 forward. Consumable 1 passes through operation 1, and the first pending operation is operation 1. Searching forward from operation 1 again, there is no previous operation for operation 1. Determine whether the first pending operation belongs to the main operation according to the main operation list. If so, use the first pending operation as the previous adjacent main operation of the main operation and end the search. For operation 1, it can be seen from the main operation list that it does not belong to the main operation. Then use consumable 2 as a reference and search from operation 3 forward. The first first pending operation is operation 2, which does not belong to the main operation. There is no previous operation for operation 2. The search ends here, and there is no previous adjacent main operation for operation 3.
[0108] Taking operation 11 as an example, it corresponds to consumables 2 and 3. With consumable 2 as the second consumable, searching forward reveals that operation 5 is the first pending operation. According to the main operation list, it is not a main operation and is not a previous adjacent main operation. Continuing the forward search, operation 3 is the first pending operation and is a previous adjacent main operation. After finding the previous adjacent main operation, the search for consumable 2 as the second consumable is stopped. With consumable 3 as the second consumable, searching forward reveals that operation 8 is the previous adjacent main operation. Ultimately, the previous adjacent main operations for operation 11 are determined to include operations 3 and 8.
[0109] In this solution, the consumables corresponding to the main operation are determined. Within the ordered operation group, each main operation then searches forward, based on the consumables and the preceding operations of each operation, for the first pending operation with a direct or indirect dependency relationship. Each found first pending operation is then matched against the main operations in the main operation list to determine the preceding adjacent main operation for each main operation. This solution is logically simple, less prone to misjudgment and omissions, and results in more accurate scheduling.
[0110] Step S1411e: Determine the subsequent adjacent main operation for each consumable corresponding to each main operation according to the main operation list, the corresponding relationship, and the subsequent operation list, so as to obtain a subsequent adjacent main operation list.
[0111] Similar to the scheme of determining the preceding adjacent main operation group of each main operation in the above-mentioned step S1411f, step S1411e may also include the following steps S1411e.1 to S1411e.3. In step 1411e.1, all the second consumables corresponding to the main operation are determined based on the corresponding relationship. 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 of the main operation corresponding to the second consumable, and searching backward for each second pending operation corresponding to the second consumable. In step 1411e.3, it is determined whether the second pending operation belongs to the main operation according to the main operation list. If so, the second pending operation is used as the subsequent adjacent main operation of the main operation and the search is ended. It can be understood that the scheme of determining the subsequent adjacent main operation of each main operation through these three steps is similar to the scheme of the above-mentioned steps S1411d.1 to S1411d.3. For the sake of brevity, it will not be repeated here. In this solution, the consumables corresponding to the main operation are determined. Within the ordered operation group, each main operation then searches backwards for a second pending operation that has a direct or indirect dependency relationship with the main operation, based on the consumables and subsequent operations of each operation. Each subsequent pending operation is then matched against the main operations in the main operation list to determine the subsequent adjacent main operation for each main operation. This solution is logically simple, less prone to misjudgment and omissions, and results in more accurate scheduling.
[0112] Thus, the preceding and succeeding adjacent main operations of each main operation can be determined, and a list of adjacent main operations can be generated. For example, for the flowchart of FIG. 2 a , a list of adjacent main operations for each main operation can be determined as shown in Table 3 below.
[0113] Table 3
[0114] Step S1412: Determine each first main operation in the ordered operation group based on the multi-input and multi-output device nodes of the automated process. As described above, the first main operation corresponds to at least two consumables, so each first main operation can be determined based on the multi-input and multi-output device nodes.
[0115] In step S1413, the adjacent main operations of each first main operation are searched from the adjacent main operation list. The first main operation was determined in step S1412, and in step S1411, the adjacent main operation list for each main operation in the ordered operation group was determined based on the dependencies and correspondences of the serial operations in the ordered operation group. Therefore, for each first main operation, its adjacent main operations can be searched from the adjacent main operation list of each main operation. For a first main operation, its adjacent main operation can be the main operation of a one-input-one-output device, or the first main operation of a multi-input-multi-output device.
[0116] The execution logic of the above solution for determining adjacent main operations of each first main operation is simpler and more reasonable, and the determined adjacent main operations are also more accurate, thereby helping to improve the scheduling efficiency and accuracy of the automated process.
[0117] Step S1420 : Determine an associated operation of the first main operation according to adjacent main operations, ordered operation groups, and corresponding relationships of the first main operation.
[0118] As mentioned above, the associated operations of the first main operation include pre-associated operations and / or post-associated operations. The pre-associated operations of the first main operation include operations that are performed before the first main operation and have a dependency relationship with the first main operation. For each first main operation, its pre-associated operations include both the pre-operations of the first main operation and the operations performed on the associated consumables of the first main operation in the post-operations of the previous adjacent main operation; its post-associated operations include both the post-operations of the first main operation and the operations performed on the associated consumables of the first main operation in the pre-operations of the post-adjacent main operation.
[0119] In this step, various suitable methods may be used to determine the associated operations of the first main operation.
[0120] Exemplarily, S1420 determines the associated operations of the first main operation, and may include step S1421 and step S1422.
[0121] Step S1421 : Determine a previous set consisting of previous associated operations of the first main operation according to the ordered operation group and the determined previous adjacent main operation.
[0122] Exemplarily, step S1421 may include step S1421a and step S1421b.
[0123] Step S1421a traverses the ordered operation group and determines a first initial set consisting of all preceding operations of the first main operation. This first initial set can be the preceding operation set of each first main operation. For example, when a user edits an automated process using process 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 process, it is determined whether each operation has the attributes of a preceding operation of a certain main operation. Thus, a preceding operation set of each main operation can be obtained.
[0124] Figure 2b shows a flow chart of an automated process according to another embodiment of the present application. As shown in Figure 2b, the figure can be a detailed flow chart of the flow chart of Figure 2a. As shown in the figure, operation 5 in Figure 2a can correspond to operation 5-1, operation 5-2 and operation 5-3 shown in Figure 2b. Operation 9 in Figure 2a can correspond to operation 9-1, operation 9-2 and operation 9-3 shown in Figure 2b. Referring to Figure 2b, the preceding operations of operation 3 include operation 1 and operation 2. The preceding operations of operation 8 include operation 6 and operation 7. The preceding operations of operation 11 include operations 5-2, 5-3 and operations 9-2, 9-3. Thus, as shown in Table 4 below, the preceding operation set of each main operation in the flow chart of Figure 2b, i.e., the first initial set, can be obtained.
[0125] Table 4
[0126] Step S1421b adds the operations corresponding to the first consumable in the subsequent operations of the preceding adjacent main operation of the first main operation to the first initial set to obtain a preceding set. For the flowchart shown in Figure 2b, operations 3 and 8 do not have preceding adjacent main operations, so step S1421b does not need to be executed. The preceding adjacent main operations of operation 11 include operations 3 and 8. The subsequent operation of operation 3 corresponds to the operation of the first consumable, operation 5-1, which is added to the first initial set. The subsequent operation of operation 8 corresponds to the operation of the first consumable, operation 9-1, which is also added to the first initial set. Thus, the resulting preceding set is shown in Table 5 below.
[0127] Table 5
[0128] Step S1422: Determine a subsequent set consisting of subsequent associated operations of the first main operation based on the ordered operation group and the determined subsequent adjacent main operation. In this step, a variety of 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.
[0129] Step S1422a: Traverse the ordered operation group and determine a second initial set consisting of all subsequent operations of the first main operation. Similar to step S1421a, the subsequent operations of operation 3 include operations 5-1, 5-2, and 4; the subsequent operations of operation 8 include operations 9-1, 9-2, and 10; and the subsequent operations of operation 11 include operations 12 and 13.
[0130] Step S1422b: Add the operations corresponding to the first consumable in the preceding operations of the subsequent adjacent main operations to the second initial set to obtain a subsequent set. For example, operations 5-3 can be added to the second initial set of operations 3, and operations 9-3 can be added to the second initial set of operations 8 to obtain a subsequent set.
[0131] This approach to determining the pre-set and post-set for each first main operation has simpler execution logic and less computational effort. It also ensures that the determined pre-set and post-set include all associated operations of the first main operation. This facilitates real-time, accurate scheduling of automated processes.
[0132] Finally, as shown in Table 6 below, the front set and the back set of each first main operation in the flowchart of FIG. 2 b can be obtained.
[0133] Table 6
[0134] According to an embodiment of the present application, step S1421 and step S1422 can be executed simultaneously or sequentially. The present application does not limit the execution order of these two steps.
[0135] Step S1430 : determining an execution order of associated operations of the first main operation according to the dependency relationship, the operation order of the first main operation on the plurality of first consumables, and the corresponding relationship.
[0136] Exemplarily, step S1430 may include step S1431a and / or step S1431b, step S1432a and / or step S1432b, and step S1433a and / or step S1433b.
[0137] Step S1431a, sorting the various operations in the front set according to the dependency relationship to obtain the front initial list of the first main operation. Among them, 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 front set and the back set of each first main operation, that is, determines all the associated operations of each first main operation. In this step, the various operations in the front set and the back set of each first main operation can be sorted to obtain the front initial list and the back initial list respectively. For example, for the front set of operation 11 shown in Table 6, for each operation corresponding to consumable 2, since there is a dependency relationship between operation 5-1 and operation 5-2, the first executed operation 5-1 can be moved before operation 5-2 and operation 5-3, and the first executed operation 9-1 can be moved before operation 9-2 and operation 9-3.
[0138] Step S1431b: Sort the operations in the back set according to the dependency relationship to obtain a back initial list for the first main operation. Similar to step S1431a, the back initial list for operation 3 in Table 6 is adjusted to be operation 4, operation 5-1, operation 5-2, and operation 5-3, and the back initial list for operation 8 is adjusted to be operation 9-1, operation 9-2, operation 9-3, and operation 10.
[0139] Step S1432a, updates the front initial list according to the operation sequence and correspondence of the first main operation on multiple first consumables, and obtains the updated front list. Among them, in the front list, the order of the operations corresponding to the front consumables is in front, and the order of the operations corresponding to the back consumables is in the back. For example, for operation 11 in Figure 2a, consumable 2 needs to enter the device before consumable 3. Therefore, the front initial list can be updated in the order that at least part of the operations corresponding to consumable 2 are executed first (the at least part of the operations can be all the operations corresponding to consumable 2 in the front initial list, or operations that only partially meet the requirements, such as the operation of occupying the equipment entrance board in the aforementioned example), and at least part of the operations corresponding to consumable 3 are executed later.
[0140] Exemplarily, step S1432a may include step S1432a.1 and step S1432a.2.
[0141] Step S1432a.1: Determine the first and last operations for each first consumable in the previous initial list based on the corresponding relationship. Step S1432a.2: Place the first operation for the first consumable with the later corresponding operation order after the last operation for the first consumable with the earlier corresponding operation order based on the operation order of the first main operation on the multiple first consumables in the previous initial list.
[0142] Referring again to Figure 2b and Table 6, it can be understood that for the consumable 2 associated with operation 11, in step S1431a, the first-executed operation 5-1 is moved before operations 5-2 and 5-3. Therefore, in the previous initial list, the first operation corresponding to consumable 2 is operation 5-1, and the last operation is operation 5-3. According to a similar principle, it can be concluded that in the previous initial list, the first operation corresponding to consumable 3 is operation 9-1, and the last operation is operation 9-3. As described above, the operation order of operation 11 for consumable 2 is before the operation order of 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 are all before operations 9-1, 9-2, and 9-3 related to consumable 3. Thus, it can be ensured that the operation executed for consumable 3 does not occupy the entry board position for consumable 2 to enter the equipment corresponding to operation 11. The smooth execution of the automated process is guaranteed.
[0143] Step S1432b, based on the operation order and correspondence of the first main operation on multiple first consumables, the order of each operation performed on different first consumables in the initial list is updated, and an updated rear list is obtained, wherein, in the rear list, the order of operations corresponding to the front consumables is in front, and the order of operations corresponding to the rear consumables is in the back.
[0144] Similar to the above-described method for updating the pre-initial list, step S1432b may also include steps S1432b.1 and S1432b.2. Step S1432b.1 determines the first and last operations corresponding to each first consumable in the post-initial list based on the corresponding relationship. Step S1432b.2 places the first operation corresponding to the first consumable with the later operation order in the post-initial list after the last operation corresponding to the first consumable with the earlier operation order, based on the operation order of the first main operation on the multiple first consumables.
[0145] It can be understood that the scheme of updating the front initial list according to the method of step S1432a.1 and step S1432a.2 and updating the rear initial list according to the method of step S1432b.1 and step S1432b.2, the generated front list and rear list will neither disrupt the order of operations corresponding to each first consumable, nor will the operations of different first consumables be interspersed, thereby avoiding logical confusion, making the execution logic simpler, and reducing the amount of calculation.
[0146] Illustratively, according to the above steps S1432a.1 and S1432b.1, the first operation and the last operation for each first consumable in the front initial list and the back initial list of each first main operation in FIG2b can be determined, and the results are shown in Table 7 below.
[0147] Table 7
[0148] According to steps S1432a.2 and S1432b.2, the front list and back list obtained by updating the front initial list and back initial list of each first main operation in Figure 2b can be determined. As shown in Table 8, the front set, back set, front list, and back list of each first main operation can be determined.
[0149] Table 8
[0150] Step S1433a: Determine the execution order of the previous associated operations of the first main operation according to the previous table.
[0151] Step S1433b: Determine the execution order of subsequent associated operations of the first main operation according to the subsequent list.
[0152] According to an embodiment of the present application, the order of the operations in the front list of each first main operation determined by the above steps can be directly determined as the execution order of the front-associated operations of the first main operation; and the order of the operations in the back list of each first main operation determined by the above steps can be directly determined as the execution order of the back-associated operations of the first main operation.
[0153] It can be understood that through the above scheme, for example, in the automated process shown in Figure 2b, for operation 11, it can be determined that operation 5-3 executed for consumable 2 is executed before operation 9-3 executed for consumable 3. This prevents conflicts where consumable 3 enters the device before consumable 2. Thus, various scenarios requiring sequential order in automated processes can be met. The logic for determining the execution order is simple, does not consume excessive system resources, is fast, and is less prone to errors. Consequently, the above scheduling method achieves high efficiency and accuracy.
[0154] Figure 3 shows a flowchart of an automated process according to another embodiment of the present application. As shown in the figure, the automated process can first be parsed to obtain an ordered operation group of the automated process. Then, each main operation in the ordered operation group can be determined, and the corresponding relationship between each operation in the ordered operation group and the consumables can be determined. Then, based on the dependency relationships between the operations in the ordered operation group, the predecessor and successor operations of each operation in the ordered operation group can be determined, and a predecessor and successor operation lists can be obtained. Furthermore, for all consumables corresponding to each main operation, a depth-first search algorithm can be used to traverse the predecessor operation list to determine the preceding and succeeding adjacent main operations of each main operation, thereby obtaining a list of adjacent main operations for each main operation. Next, based on the determined adjacent main operation list for each main operation, the ordered operation group can be traversed to determine, for each first main operation, a preceding set and a succeeding set of the main operation. Specifically, a first initial set consisting of all preceding operations of the first main operation and a second initial set consisting of all succeeding operations of the first main operation can be determined. The operations corresponding to the first consumable in the subsequent operations of the preceding adjacent main operation of the first main operation can be added to the first initial set to obtain a preceding set; the operations corresponding to the first consumable in the preceding operations of the subsequent adjacent main operation of the first main operation can also be added to the second initial set to obtain a subsequent set. Then, the operations in the preceding set of each first main operation can be sorted according to the dependency relationship to obtain a preceding initial list and a subsequent initial list of the first main operation. Thereafter, based on the operation order of each first main operation on multiple first consumables and the correspondence between the operations and consumables in the ordered operation group, the first and last operations corresponding to each first consumable in the preceding initial list and the subsequent initial list of the first main operation can be determined, and the preceding initial list and the subsequent initial list can be updated to obtain updated preceding and subsequent lists. Furthermore, the execution order of the preceding operations associated with each first main operation can be determined based on the preceding list, and the execution order of the subsequent operations associated with each first main operation can be determined based on the subsequent list. Finally, the automated process can be scheduled based at least on the determined execution order of the preceding and subsequent operations associated with each first main operation group.
[0155] According to a second aspect of the present application, a scheduling system for an automated process is also provided. FIG4 shows a schematic block diagram of a scheduling system 400 for an automated process according to an embodiment of the present application. As shown, the scheduling system 400 for an automated process includes an acquisition module 410, a determination module 420, and a scheduling module 430.
[0156] Acquisition module 410 is used to acquire an ordered operation group of an automated process, wherein each operation in the ordered operation group has a dependency relationship based on the order of execution, and 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 on the sample carried by the corresponding consumables. The main operation includes a first main operation, and the first main operation corresponds to multiple first consumables. The associated operations of each main operation include operations that are executed before or after the main operation and have a dependency relationship with the main operation.
[0157] The determination module 420 is configured to determine an execution order of the associated operations of the first main operation according to the ordered operation group, the correspondence between 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.
[0158] The scheduling module 430 is configured to schedule the automation process based at least on the determined execution order.
[0159] According to a third aspect of the present application, an electronic device is also provided. Figure 5 shows a schematic block diagram of an electronic device 500 according to an embodiment of the present application. 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 execute the above-described automated process scheduling method 1000.
[0160] According to a fourth aspect of the present application, a storage medium is also provided. Program instructions are stored on the storage medium, and when executed, the program instructions are used to execute the above-described automated process scheduling method 1000. The storage medium may include, for example, an erasable programmable read-only memory (EPROM), a compact disc 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.
[0161] A person skilled in the art can understand the specific implementation scheme and beneficial effects of the scheduling system 400, electronic device 500 and storage medium of the above-mentioned automated process by reading the relevant description of the scheduling method 1000 of the above-mentioned automated process, and for the sake of brevity, they will not be repeated here.
[0162] Example
[0163] Example 1. A method for scheduling an automated process, comprising:
[0164] Obtaining an ordered operation group of an automated process, wherein each operation in the ordered operation group has a dependency relationship based on a sequence of execution, the ordered operation group includes at least one main operation and associated operations of the main operation, the main operation being a primary functional operation performed by a primary device in the automated process on a sample carried by a corresponding consumable, the main operation including a first main operation corresponding to a plurality of first consumables, and the associated operations of each main operation including operations executed before or after the main operation and having a dependency relationship with the main operation;
[0165] Determining an execution order of the associated operations of the first main operation according to the ordered operation group, a correspondence between the associated operations of the first main operation and the plurality of first consumables, and an operation order of the first main operation on the plurality of first consumables; and
[0166] The automation process is scheduled based at least on the determined execution order.
[0167] Embodiment 2. The method for scheduling an automated process according to embodiment 1, wherein determining the execution order of the associated operations of the first main operation comprises:
[0168] Determining, according to the dependency relationship of the serial operations in the ordered operation group, an adjacent main operation of the first main operation in the ordered operation group;
[0169] Determining an associated operation of the first main operation according to the adjacent main operation of the first main operation, the ordered operation group, and the corresponding relationship; and
[0170] An execution order of associated operations of the first main operation is determined according to the dependency relationship, an operation order of the first main operation on the plurality of first consumables, and the correspondence relationship.
[0171] Example 3. A scheduling method for an automated process as described in Example 1 or 2, wherein the adjacent main operations of the first main operation include the preceding adjacent main operation that is closest to the main operation and / or the succeeding adjacent main operation that is closest to the main operation after the main operation; the associated operations of the first main operation include preceding associated operations and / or succeeding associated operations; the preceding associated operations of the first main operation include operations that are executed before the first main operation and have a dependent relationship with the first main operation, and the succeeding associated operations of the first main operation include operations that are executed after the first main operation and have a dependent relationship with the first main operation; the preceding associated operations and succeeding associated operations of the first main operation both correspond to the first consumable.
[0172] Embodiment 4. The method for scheduling an automated process as described in any one of embodiments 1 to 3, wherein:
[0173] The determining of the associated operation of the first main operation includes:
[0174] Determine, based on the ordered operation group and the determined preceding adjacent main operation, a preceding set consisting of preceding associated operations of the first main operation and / or determine, based on the ordered operation group and the determined following adjacent main operation, a following set consisting of following associated operations of the first main operation;
[0175] Determining the execution order of the associated operations of the first main operation includes:
[0176] sorting the operations in the front set according to the dependency relationship to obtain a front initial list of the first main operation and / or sorting the operations in the rear set according to the dependency relationship to obtain a rear initial list of the first main operation, wherein in the initial list, the order of different operations performed on the same first consumable is the same as the dependency relationship;
[0177] updating the order of the operations performed on the multiple first consumables in the front initial list and / or the rear initial list according to the operation order of the first main operation on the multiple first consumables and the corresponding relationship, and obtaining an updated front list and / or rear list, wherein in the front list and the rear list, the order of the operations corresponding to the front consumable is in front, and the order of the operations corresponding to the rear consumable is in the rear; and
[0178] An execution order of operations preceding the first main operation is determined according to the front list and / or an execution order of operations following the first main operation is determined according to the back list.
[0179] Embodiment 5. The method for scheduling an automated process according to any one of embodiments 1 to 4, wherein determining a preceding set consisting of preceding associated operations of the first main operation comprises:
[0180] Traversing the ordered operation group to determine a first initial set consisting of all preceding operations of the first main operation; and
[0181] adding operations corresponding to the first consumable in subsequent operations of the preceding adjacent main operation of the first main operation to the first initial set to obtain the preceding set;
[0182] and / or
[0183] The determining of a subsequent set consisting of subsequent associated operations of the first main operation includes:
[0184] Traversing the ordered operation group to determine a second initial set consisting of all subsequent operations of the first main operation; and
[0185] The operation corresponding to the first consumable in the preceding operation of the subsequent adjacent main operation of the first main operation is added to the second initial set to obtain the subsequent set.
[0186] Embodiment 6. The method for scheduling an automated process according to any one of embodiments 1 to 5, wherein updating the order of operations performed for different first consumables in the front initial list and / or the back initial list comprises:
[0187] Determining, according to the corresponding relationship, a first operation and a last operation corresponding to each first consumable in the front initial list and / or the rear initial list; and
[0188] According to the operation order of the first main operation on the multiple first consumables, the first operation of the first consumable with a later operation order in the front initial list and / or the back initial list is placed after the last operation of the first consumable with an earlier operation order.
[0189] Embodiment 7. The method for scheduling an automated process according to any one of embodiments 1 to 6, wherein determining adjacent main operations of the first main operation in the ordered operation group comprises:
[0190] Determining, according to the dependency relationship of the serial operations in the ordered operation group and the corresponding relationship, a list of adjacent main operations for each main operation in the ordered operation group;
[0191] determining each first main operation in the ordered operation group according to the multi-input and multi-output device nodes of the automation process; and
[0192] The adjacent main operations of each first main operation are searched from the adjacent main operation list respectively.
[0193] Embodiment 8. The method for scheduling an automated process according to any one of Embodiments 1 to 7, wherein the adjacent main operation list includes a preceding adjacent main operation list and a succeeding adjacent main operation list, and determining the adjacent main operation list for each main operation in the ordered operation group includes:
[0194] Determine each main operation in the ordered operation group according to the device node of the automation process, and obtain a main operation list;
[0195] Determining a correspondence between each operation in the ordered operation group and the consumables according to the associated attributes between each node of the automated process and the consumables;
[0196] Determine, according to the dependency relationship of the serial operations in the ordered operation group, a preceding operation and a subsequent operation of each operation, and obtain a preceding operation list of the preceding operation of each operation and a subsequent operation list of the subsequent operation of each operation, wherein the preceding operation and the subsequent operation of each operation are respectively a preceding adjacent operation and a succeeding adjacent operation of the operation;
[0197] Determining, according to the main operation list, the corresponding relationship, and the preceding operation list, a preceding adjacent main operation for each corresponding consumable of each main operation to obtain the preceding adjacent main operation list; and
[0198] According to the main operation list, the corresponding relationship, and the subsequent operation list, the subsequent adjacent main operation for each corresponding consumable of each main operation is determined to obtain the subsequent adjacent main operation list.
[0199] Embodiment 9. The method for scheduling an automated process according to any one of embodiments 1 to 8, wherein determining the preceding adjacent main operation of each main operation for each corresponding consumable comprises:
[0200] For each main operation,
[0201] Determining all second consumables corresponding to the main operation according to the corresponding relationship;
[0202] For each second consumable, use a depth-first search algorithm to traverse the preceding operation list, starting from the preceding operation of the main operation corresponding to the second consumable, and sequentially search forward for each first pending operation corresponding to the second consumable;
[0203] Determine whether the first pending operation belongs to a main operation according to the main operation list; if so, use the first pending operation as the previous adjacent main operation of the main operation and end the search;
[0204] and / or
[0205] The determining of the subsequent adjacent main operation of each main operation for each corresponding consumable includes:
[0206] For each main operation,
[0207] Determining all second consumables corresponding to the main operation according to the corresponding relationship;
[0208] For each second consumable, use a depth-first search algorithm to traverse the subsequent operation list, starting from the subsequent operation of the main operation corresponding to the second consumable and searching backward for each second pending operation corresponding to the second consumable;
[0209] Determine whether the second pending operation belongs to a main operation according to the main operation list. If so, use the second pending operation as the subsequent adjacent main operation of the main operation and end the search.
[0210] Embodiment 10. The method for scheduling an automated process according to any one of embodiments 1 to 9, wherein the method further comprises:
[0211] Based on the analysis result of the automation process, an operation order of the first main operation on the plurality of first consumables is determined.
[0212] Example 11. A scheduling system for an automated process, comprising:
[0213] an acquisition module, configured to acquire an ordered operation group of an automated process, wherein the operations in the ordered operation group have a dependency relationship based on the order of execution, the ordered operation group includes at least one main operation and associated operations of the main operation, the main operation being a main functional operation performed by a main device in the automated process on a sample carried by a corresponding consumable, the main operation including a first main operation corresponding to a plurality of first consumables, and the associated operations of each main operation including an operation executed before or after the main operation and having a dependency relationship with the main operation;
[0214] a determining module, configured to determine an execution order of the associated operations of the first main operation according to the ordered operation group, a correspondence between the associated operations of the first main operation and the plurality of first consumables, and an operation order of the first main operation on the plurality of first consumables; and
[0215] A scheduling module is configured to schedule the automation process based at least on the determined execution order.
[0216] Embodiment 12. An electronic device comprises a processor and a memory, wherein the memory stores computer program instructions, and the computer program instructions are used by the processor to execute the scheduling method for the automated process as described in any one of Embodiments 1 to 10 when the processor is executed.
[0217] Embodiment 13. A storage medium having program instructions stored thereon, wherein the program instructions are used to execute the scheduling method for an automated process as described in any one of embodiments 1 to 10 when running.
[0218] Although example embodiments have been described herein with reference to the accompanying drawings, it should be understood that the above example embodiments are merely illustrative and are not intended to limit the scope of the present application. Various changes and modifications may be made therein by those skilled in the art without departing from the scope and spirit of the present application. All such changes and modifications are intended to be included within the scope of the present application as required by the appended claims.
[0219] Those skilled in the art will appreciate that the units and algorithm steps of each example 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 performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel 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.
[0220] 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 example, the division of the units described is merely a logical function division. In actual implementation, other division methods may be used, such as combining or integrating multiple units or components into another device, or ignoring or not performing some features.
[0221] In the description provided herein, a large number of specific details are described. However, it is understood that the embodiments of the present application can be practiced without these specific details. In some instances, well-known methods, structures, and techniques are not shown in detail so as not to obscure the understanding of this description.
[0222] Similarly, it should be understood that in order to streamline the present application and aid in understanding one or more of the various inventive aspects, in the description of the exemplary embodiments of the present application, the various features of the present application are sometimes grouped together into a single embodiment, figure, or description thereof. However, this approach of the present application should not be interpreted as reflecting the intention that the application claimed for protection requires more features than those explicitly recited in each claim. More precisely, as reflected in the corresponding claims, the inventive point is that the corresponding technical problem can be solved with fewer features than all the features of a single disclosed embodiment. Therefore, the claims following the detailed description are hereby expressly incorporated into the detailed description, with each claim itself serving as a separate embodiment of the present application.
[0223] Those skilled in the art will understand that, except where features are mutually exclusive, all features disclosed in this specification (including the accompanying claims, abstract, and drawings), as well as all processes or units of any method or apparatus disclosed therein, may 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 provides the same, equivalent, or similar purpose. Furthermore, those skilled in the art will understand that although some embodiments described herein include certain features but not others included in other embodiments, combinations of features from different embodiments are intended to be within the scope of this application and form different embodiments. For example, in the claims, any of the claimed embodiments may be used in any combination. The various component embodiments of this application may 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 in practice, a microprocessor or digital signal processor (DSP) may be used to implement some or all of the functionality of some modules in the automated process scheduling system according to embodiments of this application. This application may also be implemented as a device program (e.g., a computer program or computer program product) for performing part or all of the methods described herein. Such a program for implementing the present application may be stored on a computer readable medium, or may be in the form of one or more signals. Such signals may be downloaded from an Internet website, or provided on a carrier signal, or provided in any other form.
[0224] The above description is merely a specific embodiment or illustration of a specific embodiment of the present application, and the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present application should be included in the scope of protection of the present application. The scope of protection of the present application should be based on the scope of protection of the claims.
Claims
1. A scheduling method for an automated process, characterized in that: include: Acquire an ordered operation group of an automated process, wherein each operation in the ordered operation group has a dependency relationship 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 a main functional operation performed by a main device in the automated process on a sample carried by a corresponding consumable, the main operation includes a first main operation, the first main operation corresponds to a plurality of first consumables, and the associated operations of each main operation include operations that are performed before or after the main operation and have a dependency relationship with the main operation; Determining an execution order of the associated operations of the first main operation according to the ordered operation group, a correspondence between the associated operations of the first main operation and the plurality of first consumables, and an operation order of the first main operation on the plurality of first consumables; and The automation process is scheduled based at least on the determined execution order.
2. The method for scheduling an automated process as claimed in claim 1, wherein: The determining the execution order of the associated operations of the first main operation includes: Determine, according to the dependency relationship of the serial operations in the ordered operation group, an adjacent main operation of the first main operation in the ordered operation group; Determining an associated operation of the first main operation according to an adjacent main operation of the first main operation, the ordered operation group, and the corresponding relationship; and An execution order of the associated operations of the first main operation is determined according to the dependency relationship, the operation order of the first main operation on the plurality of first consumables, and the corresponding relationship.
3. The method for scheduling an automated process as claimed in claim 2, wherein: The adjacent main operations of the first main operation include a preceding adjacent main operation that is before the main operation and is closest to the main operation and / or a succeeding adjacent main operation that is after the main operation and is closest to the main operation; the associated operations of the first main operation include preceding associated operations and / or succeeding associated operations; the preceding associated operations of the first main operation include operations that are executed before the first main operation and have a dependent relationship with the first main operation, and the succeeding associated operations of the first main operation include operations that are executed after the first main operation and have a dependent relationship with the first main operation; Both the pre-associated operation and the post-associated operation of the first main operation correspond to the first consumable.
4. The method for scheduling an automated process as claimed in claim 3, wherein: The determining of the associated operation of the first main operation includes: Determine a front set consisting of front associated operations of the first main operation according to the ordered operation group and the determined front adjacent main operation and / or determine a rear set consisting of rear associated operations of the first main operation according to the ordered operation group and the determined rear adjacent main operation; The determining the execution order of the associated operations of the first main operation includes: sorting the operations in the front set according to the dependency relationship to obtain a front initial list of the first main operation and / or sorting the operations in the rear set according to the dependency relationship to obtain a rear initial list of the first main operation, wherein in the initial list, the order of different operations performed on the same first consumable is the same as the dependency relationship; According to the operation sequence of the first main operation on the plurality of first consumables and the corresponding relationship, the sequence of each operation performed on different first consumables in the front initial list and / or the rear initial list is updated, and an updated front list and / or rear list is obtained, wherein in the front list and the rear list, the sequence of the operation corresponding to the front consumable is in front, and the sequence of the operation corresponding to the rear consumable is in the rear; and The execution order of the operations preceding the first main operation is determined according to the front list and / or the execution order of the operations following the first main operation is determined according to the rear list.
5. The method for scheduling an automated process as claimed in claim 4, wherein: The determining of a front set consisting of front associated operations of the first main operation includes: Traversing the ordered operation group, determining a first initial set consisting of all preceding operations of the first main operation; and Adding operations corresponding to the first consumable in subsequent operations of the preceding adjacent main operation of the first main operation to the first initial set to obtain the preceding set; and / or The determining a subsequent set consisting of subsequent associated operations of the first main operation includes: Traversing the ordered operation group to determine a second initial set consisting of all post-operations of the first main operation; and The operation corresponding to the first consumable in the previous operation of the subsequent adjacent main operation of the first main operation is added to the second initial set to obtain the subsequent set.
6. The method for scheduling an automated process as claimed in claim 4, wherein: The updating of the sequence of operations performed on different first consumables in the front initial list and / or the rear initial list includes: Determine, according to the corresponding relationship, the first operation and the last operation corresponding to each first consumable in the front initial list and / or the rear initial list; and According to the operation order of the first main operation on the multiple first consumables, the first operation of the first consumable with a later corresponding operation order in the front initial list and / or the rear initial list is placed after the last operation of the first consumable with an earlier corresponding operation order.
7. The method for scheduling an automated process according to any one of claims 2 to 6, characterized in that: The determining an adjacent main operation of the first main operation in the ordered operation group includes: Determine, according to the dependency relationship of the serial operations in the ordered operation group and the corresponding relationship, a list of adjacent main operations for each main operation in the ordered operation group; Determining each first main operation in the ordered operation group according to the multi-input and multi-output device nodes of the automation process; and The adjacent main operations of each first main operation are searched from the adjacent main operation list respectively.
8. The method for scheduling an automated process as claimed in claim 7, wherein: The adjacent main operation list includes a front adjacent main operation list and a rear adjacent main operation list, and the determining of the adjacent main operation list for each main operation in the ordered operation group includes: According to the device nodes of the automation process, determining each main operation in the ordered operation group, and obtaining a main operation list; Determine the corresponding relationship between each operation and the consumable in the ordered operation group according to the associated attributes between each node of the automated process and the consumable; Determine the preceding operation and the following operation of each operation according to the dependency relationship of the serial operations in the ordered operation group, and obtain a preceding operation list of the preceding operation of each operation and a following operation list of the following operation of each operation, wherein the preceding operation and the following operation of each operation are respectively the preceding adjacent operation and the following adjacent operation of the operation; Determine, according to the main operation list, the corresponding relationship and the preceding operation list, the preceding adjacent main operation of each main operation for each corresponding consumable, so as to obtain the preceding adjacent main operation list; and According to the main operation list, the corresponding relationship and the subsequent operation list, the subsequent adjacent main operation of each main operation for each corresponding consumable is determined to obtain the subsequent adjacent main operation list.
9. The method for scheduling an automated process as claimed in claim 8, wherein: The determining of the preceding adjacent main operation of each main operation for each corresponding consumable includes: For each main operation, According to the corresponding relationship, determine all second consumables corresponding to the main operation; For each second consumable, a depth-first search algorithm is used to traverse the preceding operation list, starting from the preceding operation of the main operation corresponding to the second consumable, and searching forward in sequence for each first pending operation corresponding to the second consumable; Determine whether the first pending operation belongs to a main operation according to the main operation list, and if so, use the first pending operation as the previous adjacent main operation of the main operation and end the search; and / or The determining of the subsequent adjacent main operation of each main operation for each corresponding consumable includes: For each main operation, According to the corresponding relationship, determine all second consumables corresponding to the main operation; For each second consumable, using a depth-first search algorithm, traverse the subsequent operation list, starting from the subsequent operation of the main operation corresponding to the second consumable, and sequentially searching backward for each second pending operation corresponding to the second consumable; It is determined whether the second pending operation belongs to a main operation according to the main operation list. If so, the second pending operation is used as the subsequent adjacent main operation of the main operation and the search is terminated.
10. The method for scheduling an automated process according to any one of claims 1 to 6, characterized in that: The method further comprises: Based on the analysis result of the automation process, the operation order of the first main operation on the plurality of first consumables is determined.
11. A scheduling system for an automated process, characterized in that: include: An acquisition module, used for acquiring an ordered operation group of an automated process, wherein each operation in the ordered operation group has a dependency relationship according to the order of execution, and the ordered operation group includes at least one main operation and associated operations of the main operation, wherein the main operation is a main functional operation performed by a main device in the automated process on a sample carried by a corresponding consumable, wherein the main operation includes a first main operation, wherein the first main operation corresponds to a plurality of first consumables, and the associated operations of each main operation include operations performed before or after the main operation and having a dependency relationship with the main operation; a determination module, configured to determine an execution order of the associated operations of the first main operation according to the ordered operation group, a correspondence between the associated operations of the first main operation and the plurality of first consumables, and an operation order of the first main operation on the plurality of first consumables; and A scheduling module is used to schedule the automation process based at least on the determined execution order.
12. An electronic device comprising a processor and a memory, characterized in that: The memory stores computer program instructions, which are used by the processor to execute the scheduling method for an automated process as claimed in any one of claims 1 to 10 when the processor runs the computer program instructions.
13. A storage medium having program instructions stored thereon, characterized in that: The program instructions are used to execute the scheduling method for an automated process as claimed in any one of claims 1 to 10 when running.
Citation Information
Patent Citations
Automated process management method and device, electronic equipment and storage medium
CN115755790A
Automated process management method and device, electronic equipment and storage medium
CN115903689A
Test process analysis method and device, electronic equipment and storage medium
CN115903694A
Automatic process scheduling method and system, electronic equipment and storage medium
CN117829569A
Method and system for scheduling tasks in a computing system
US20210019178A1