Object-oriented fully automatic device asynchronous concurrent scheduling control system and method

Through the object-oriented fully automatic equipment asynchronous concurrent scheduling control system, the problem of inefficiency of fully automatic equipment in the multi-sample detection process is solved, efficient resource allocation and coordination is achieved, and the overall execution efficiency of the equipment is improved.

CN114064232BActive Publication Date: 2025-07-29SUZHOU INST OF BIOMEDICAL ENG & TECH CHINESE ACADEMY OF SCI
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111193354.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-13
Publication Date
2025-07-29
Estimated Expiration
2041-10-13

AI Technical Summary

Technical Problem

The scheduling algorithm of existing fully automatic equipment is difficult to efficiently and flexibly regulate multiple sample detection processes, resulting in inefficiency.

Method used

The object-oriented fully automatic equipment asynchronous concurrent scheduling control system is adopted, and the sample management module, task management module and control module work together to achieve flexible coordination of the detection process and efficient allocation of resources.

Benefits of technology

It improves the execution efficiency of fully automatic equipment, can flexibly schedule various institutions to operate in a coordinated manner, and improves the efficiency of multi-sample detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114064232B_ABST
    Figure CN114064232B_ABST
Patent Text Reader

Abstract

The present invention discloses an object-oriented fully automatic equipment asynchronous concurrent scheduling control system and method. The system includes: a sample management module, which includes the execution actions, execution conditions, and control methods for starting and ending the detection of each sample; a task management module, which is used to clarify the execution tasks and execution mechanisms in the detection process, and includes resources, execution actions, and a task generator, and the task generator is used to generate a task list; and a control module, which includes a task list detection unit, the start and end control of the detection process of all samples, and a resource allocation unit. The control module is used to coordinately control all the execution actions and resources for realizing the detection of each sample, so as to cooperate with the sample management module and the task management module to realize the detection of all samples. The present invention can flexibly schedule each mechanism of the fully automatic equipment to make it operate coordinately, and at the same time can improve the execution efficiency of the equipment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a field, and in particular to an object-oriented fully automatic equipment asynchronous concurrent scheduling control system and method. Background Art

[0002] Currently, there are mainly three commonly used scheduling algorithms: first-come-first-served and shortest job first scheduling algorithms, highest priority first scheduling algorithm, and round-robin scheduling algorithm based on time slices. The operation process of fully automatic equipment is fixed, and the sequence and constraint conditions of each execution link must be considered. Taking a fully automatic in vitro detection device as an example, the detection process includes multiple execution tasks such as sucking samples from test tubes, adding reagents, and calculating data. The entire process requires different robotic arms to perform operations such as grasping consumables and transporting samples respectively. If there are many samples to be tested, it is too inefficient to detect each sample in sequence. Multiple sample detection processes can be carried out simultaneously by making full use of each robotic arm. In this case, it is difficult to efficiently and flexibly control the equipment only using a single scheduling method. If the traditional top-down process-based idea is used to implement the function, all operation steps need to be listed and arranged, and the states and possibilities of each step from start to end need to be mastered, which is rather cumbersome and not flexible enough. Therefore, it is necessary to provide a more reliable solution now. Summary of the Invention

[0003] The technical problem to be solved by the present invention is to provide an object-oriented fully automatic equipment asynchronous concurrent scheduling control system and method for the deficiencies in the above-mentioned prior art. The present invention macroscopically adopts the object-oriented idea to divide functional roles to solve problems, and microscopically still uses the process-oriented idea to gradually complete subtasks, which can more flexibly and efficiently command the coordinated operation of automatic equipment.

[0004] To achieve the above object, the technical solution adopted by the present invention is: an object-oriented fully automatic equipment asynchronous concurrent scheduling control system, the system includes:

[0005] A sample management module, which includes information on all execution actions required for each sample to be detected. The sample management module at least includes execution actions, execution conditions, and control methods for starting and ending detection required for each sample to be detected;

[0006] A task management module, which includes information on each execution action during the detection process. The task management module is used to clarify the execution tasks and execution mechanisms in the detection process, and at least includes resources, execution actions, and a task generator, and the task generator is used to generate a task list;

[0007] And a control module, which at least includes a task list detection unit, start and stop control of the entire sample detection process, and a resource allocation unit. The control module is used to coordinately control all execution actions and resources for implementing each sample detection, so as to cooperate with the sample management module and the task management module to complete the detection of all samples.

[0008] Preferably, the resource is an abstraction of each actuator, including the actuator name, actuator number, identification bit of the resource, actions executable by the actuator, and an application form for the actuator;

[0009] The execution action is an abstraction of each execution task in the detection process, including the name, number, priority, required actuator, and execution method of the task.

[0010] Preferably, the task generator generates a task list to determine all actions and action execution methods included in the detection process, and the samples to be tested perform the detection according to the task list.

[0011] Preferably, the identification bit of the resource is one of the two states of "busy" or "idle". Before each execution action is performed, an application must be submitted to the corresponding resource, and the control module must be notified that there is a task to be executed; after the control module is activated, it sequentially queries the status of each resource and the actuator application list, determines the sample with the highest priority in the actuator application list according to the allocation rule, allows the sample to use the resource and changes the resource identification bit to "busy"; after the execution action is completed, the resource is released, and the identification bit of the resource is restored to "idle".

[0012] Preferably, the sample management module and the control module both have separate threads to execute their respective functions and tasks, which are respectively recorded as the sample thread and the control thread;

[0013] After the sample management module submits a resource application, the sample thread sends a request signal to the control module, and then the sample thread enters the blocked state; after the control thread receives the request signal, it is activated, determines how to allocate the resources, and then sends a notification signal to the corresponding sample thread; the sample thread that receives the notification signal and obtains the resources is awakened, and then performs the corresponding sample execution action, and the remaining sample threads remain in the blocked state until they receive the notification signal from the control thread; if no sample applies, the control thread enters the blocked state and waits to be activated.

[0014] Preferably, during the detection of a single sample, the main thread and the branch thread run concurrently, and each completes all actions in a serial working mode according to the execution order in the task list; for the main thread actions and branch thread actions that are dependent on each other, before applying for resources to execute the actions, the conditions are first judged. If the conditions are not met, the corresponding thread enters the waiting state until the relevant actions are completed before being allowed to apply for resources and execute.

[0015] Preferably, when multiple samples are detected simultaneously, the required resources are allocated to the samples in the order of priority. Samples applying for the same resource during the execution of actions queue up, while samples applying for other resources continue to be controlled by the control module to allocate resources in the order of priority.

[0016] Preferably, during the detection process, if an abnormality occurs in the execution of an action, the system automatically enters the exception handling program for that execution action and performs retry repair. At the same time, the exception level is confirmed to determine whether other execution agencies should stop the current action. If the normal state still cannot be restored after the exception handling, the device is determined to be faulty, and a log is recorded waiting for maintenance.

[0017] Preferably, the control method of the system includes the following steps:

[0018] 1) The task management module generates a task list;

[0019] 2) The sample management module starts a sample thread;

[0020] 3) Perform sample detection: The sample management module queries the task list, and then submits resource applications corresponding to all the execution actions required for sample detection. The control module performs resource allocation control. If the corresponding resource is idle, the corresponding execution action is performed; otherwise, it waits until the resource is idle, and releases the corresponding resource after the execution action is completed;

[0021] 4) Complete all execution actions until the detection is completed.

[0022] Preferably, the specific steps for performing sample detection include:

[0023] 3-1) The sample management module obtains sample information and the task list, and determines all the execution actions and corresponding resources required for sample detection;

[0024] 3-2) The sample management module submits a resource application, and the control module performs resource allocation control. If the resource is idle, proceed to the next step; otherwise, wait for the resource;

[0025] 3-3) If the current application has the highest priority, proceed to the next step; otherwise, return to the previous step;

[0026] 3-4) Perform the action, and check whether the detection action is completed. If the action is not completed, perform exception handling until the action is completed;

[0027] 3-5) Release the resource after the action is completed, and check whether the sample detection process is completed. If so, end; otherwise, return to step 2).

[0028] The beneficial effects of the present invention are as follows: The present invention provides an object-oriented fully automatic equipment multi-component asynchronous concurrent scheduling control system and method, which can flexibly schedule each mechanism of the fully automatic equipment to make it operate coordinately, and at the same time improve the execution efficiency of the equipment. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Figure 1 It is a flowchart of the object-oriented asynchronous concurrent scheduling control method for a fully automatic equipment in Embodiment 2 of the present invention;

[0030] Figure 2 It is a sample detection flowchart in Embodiment 2 of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0031] The following further describes the present invention in detail with reference to the embodiments, so that those skilled in the art can implement it according to the description in the specification.

[0032] It should be understood that the terms such as "having", "including" and "comprising" used herein do not exclude the existence or addition of one or more other elements or their combinations.

[0033] Embodiment 1

[0034] An object-oriented asynchronous concurrent scheduling control system for a fully automatic equipment in this embodiment, the system includes:

[0035] A sample management module, which includes information on all execution actions required for detecting each sample. The sample management module at least includes execution actions, execution conditions, and control methods for starting and ending detection required for each sample;

[0036] A task management module, which includes information on each execution action during the detection process. The task management module is used to clarify the execution tasks and execution mechanisms in the detection process, and at least includes resources, execution actions, and a task generator, and the task generator is used to generate a task list;

[0037] And a control module, which at least includes a task list detection unit, start and end control of the entire sample detection process, and a resource allocation unit. The control module is used to coordinately control all execution actions and resources for realizing the detection of each sample, so as to cooperate with the sample management module and the task management module to realize the detection of all samples.

[0038] In this embodiment, each module is composed of one or more different roles, maintaining specific functions and cooperating with each other. Among them, the sample management module and the control module both have separate threads to efficiently and clearly execute their respective tasks. The sample to be tested must complete a set of established detection tasks through corresponding resources, and the resources have unified status attributes. Therefore, before the sample thread executes a subtask, it needs to send a resource application signal. After the control thread discovers a task to be executed, it queries the resource status for allocation. If an error occurs during task execution, it automatically searches for an exception handling method to solve the problem.

[0039] Among them, the resource is an abstraction of each actuator, including the actuator name, actuator number, identification bit of the resource, actions that the actuator can execute, and the actuator application form; the execution action is an abstraction of each execution task in the detection process, including the task name, number, priority, required actuator, and execution method. Among them, the task generator generates a task list to determine all the actions and action execution methods included in the detection process, and the sample to be tested executes the detection according to the task list.

[0040] Among them, the identification bit of the resource is one of the two states of "busy" or "idle". Before each execution action is executed, an application must be submitted to the corresponding resource, and the control module is notified of the task to be executed; after the control module is activated, it sequentially queries the status of each resource and the actuator application list, determines the sample with the highest priority in the actuator application list according to the allocation rule, allows the sample to use the resource and changes the resource identification bit to "busy"; after the execution action is completed, the resource is released, and the identification bit of the resource is restored to "idle".

[0041] After individual actions in the detection process are completed, the next action must be immediately continued, showing strong coherence. Therefore, samples that are executing such actions are allowed to preempt resources in advance to complete tasks in a timely manner.

[0042] Among them, the sample management module and the control module both have separate threads to execute their respective functions and tasks, which are respectively recorded as the sample thread and the control thread; at the same time, a thread can only execute one task. Therefore, the sample management module and the control module both have independent threads to execute their respective functions and tasks, and cooperate with each other to complete the detection.

[0043] In a multi-threaded environment, there are often problems of resource sharing and mutual restriction among threads. Some methods need to be adopted to ensure thread synchronization and communication. The following solution is adopted in the present invention: After the sample management module submits a resource application, the sample thread sends a request signal to the control module, and then the sample thread enters the blocked state; after receiving the request signal, the control thread is activated. After determining how to allocate resources, it sends a notification signal to the corresponding sample thread; the sample thread that receives the notification signal and obtains the resources is awakened, and then performs actions on the corresponding samples. The remaining sample threads remain blocked until they receive the notification signal from the control thread; if no sample applies, the control thread enters the blocked state and waits to be activated. In addition, in order to improve the performance of concurrent data access while ensuring thread safety, in a preferred embodiment, a read-write lock is used to read and change the resource identification bit.

[0044] Among them, when a single sample is detected, two threads, the main thread and the branch thread, perform concurrently, and each completes all actions in a serial working mode according to the execution order in the task list; for the main thread actions and branch thread actions that are dependent on each other, conditions are judged before applying for resources to perform actions. If the conditions are not met, the corresponding thread enters the waiting state until the relevant actions are completed before being allowed to apply for resources and execute.

[0045] Among them, when multiple samples are detected simultaneously, resources required by the samples are allocated in the order of priority. Samples that apply for the same resource queue up during the execution of actions, and samples that apply for other resources continue to be controlled by the control module and are allocated resources in the order of priority.

[0046] Among them, if an exception occurs during the execution of an action during the detection process, it automatically enters the exception handling program of the execution action to perform retry repair or other processing methods; at the same time, the exception level is confirmed to determine whether other execution agencies stop the current action; if it still cannot return to normal after the exception handling, the device is determined to be faulty, and a log is recorded and waiting for maintenance.

[0047] Embodiment 2

[0048] Referring to Figure 1 , a control method for an object-oriented fully automatic device asynchronous concurrent scheduling control system in Embodiment 1, which includes the following steps:

[0049] 1) The task management module generates a task list;

[0050] 2) The sample management module starts a sample thread;

[0051] 3) Conduct sample detection: The sample management module queries the task list, and then submits resource applications corresponding to all the execution actions required for sample detection. The control module performs resource allocation control. If the corresponding resources are idle, the corresponding execution actions are carried out; otherwise, it enters a waiting state until the resources are idle. After the execution actions are completed, the corresponding resources are released;

[0052] 4) Complete all execution actions until the detection is completed.

[0053] Refer to Figure 2 , wherein the specific steps for conducting sample detection include:

[0054] 3-1) The sample management module obtains sample information and the task list, and determines all the execution actions and corresponding resources required for sample detection;

[0055] 3-2) The sample management module submits a resource application. The control module performs resource allocation control. If the resources are idle, it proceeds to the next step; otherwise, it waits for the resources;

[0056] 3-3) If the current application has the highest priority, it proceeds to the next step; otherwise, it returns to the previous step;

[0057] 3-4) Carry out the execution actions, and check whether the detection actions are completed. If the actions are not completed, perform exception handling until the actions are completed;

[0058] 3-5) Release the resources after the actions are completed, and determine whether the sample detection process is completed. If so, end; otherwise, return to step 2).

[0059] Although the embodiments of the present invention have been disclosed as above, it is not limited to only the applications listed in the description and embodiments. It can be fully applied to various fields suitable for the present invention. For those familiar with the field, additional modifications can be easily made. Therefore, without departing from the general concept defined by the claims and the equivalent scope, the present invention is not limited to specific details.

Claims

1. An object-oriented fully automatic device asynchronous concurrent scheduling control system, characterized in that, The system includes: A sample management module, which includes information on all execution actions required for detecting each sample. The sample management module at least includes execution actions required for detecting each sample, execution conditions, and control methods for the start and end of detection; A task management module, which includes information on each execution action during the detection process. The task management module is used to clarify the execution tasks and execution agencies in the detection process, and at least includes resources, execution actions, and a task generator. The task generator is used to generate a task list; And a control module, which at least includes a task list detection unit, start and end control of the detection process for all samples, and a resource allocation unit. The control module is used to coordinately control all execution actions and resources for realizing the detection of each sample, so as to cooperate with the sample management module and the task management module to realize the detection of all samples; Among them, both the sample management module and the control module have separate threads to execute their respective functions and tasks, which are respectively recorded as the sample thread and the control thread; After the sample management module submits a resource application, the sample thread sends a request signal to the control module, and then the sample thread enters a blocked state; after receiving the request signal, the control thread is activated, determines how to allocate resources, and then sends a notification signal to the corresponding sample thread; the sample thread that receives the notification signal and obtains the resources is awakened, and then performs the corresponding sample execution action, and the remaining sample threads remain blocked until they receive the notification signal from the control thread; if no sample applies, the control thread enters a blocked state and waits to be activated.

2. The asynchronous concurrent scheduling control system of the object-oriented full-automatic device according to claim 1, wherein, Among them, The resource is an abstraction of each execution agency, including the name of the execution agency, the number of the execution agency, the identification bit of the resource, the actions that the execution agency can execute, and the application form of the execution agency; The execution action is an abstraction of each execution task in the detection process, including the name, number, priority, required execution agency, and execution method of the task.

3. The asynchronous concurrent scheduling control system for an object-oriented fully automatic device according to claim 2, characterized in that Among them, The task generator generates a task list to determine all actions and action execution methods included in the detection process, and the samples to be tested perform the detection according to the task list.

4. The asynchronous concurrent scheduling control system for an object-oriented fully automatic device according to claim 3, wherein Among them, The identification bit of the resource is one of the two states of "busy" or "idle". Before each execution action is executed, an application must be submitted to the corresponding resource, and the control module must be notified that there is a task to be executed; after the control module is activated, it sequentially queries the status of each resource and the execution agency application list, determines the sample with the highest priority in the execution agency application list according to the allocation rule, allows the sample to use the resource, and changes the resource identification bit to "busy"; after the execution action is completed, the resource is released, and the identification bit of the resource is restored to "idle".

5. The asynchronous concurrent scheduling control system of the object-oriented full-automatic device according to claim 1, characterized in that, Among them, When a single sample is detected, the main thread and the branch thread run concurrently, and each completes all actions in a serial working mode according to the execution order in the task list; for the main thread actions and branch thread actions that are dependent on each other, the conditions are judged before applying for resources to execute the actions. If the conditions are not met, the corresponding thread enters the waiting state until the relevant actions are completed before being allowed to apply for resources and execute.

6. The object-oriented fully automatic equipment asynchronous concurrent scheduling control system according to claim 1, characterized in that Among them, When multiple samples are detected simultaneously, the required resources are allocated to the samples in the order of priority. Samples that apply for the same resource during the execution of actions will queue up, while samples that apply for other resources will continue to be controlled by the control module to allocate resources in the order of priority.

7. The object-oriented fully automatic equipment asynchronous concurrent scheduling control system according to claim 5 or 6, characterized in that, Among them, If an abnormality occurs during the execution of an action in the detection process, it will automatically enter the exception handling program of this execution action to perform retry repair; at the same time, confirm the exception level to determine whether other execution agencies should stop the current action; if it still cannot return to normal after the exception handling, it is determined that the device has a fault, and a log is recorded waiting for maintenance.

8. The asynchronous concurrent scheduling control system for the object-oriented full-automatic device according to claim 7, characterized in that, The control method of this system includes the following steps: 1) The task management module generates a task list; 2) The sample management module starts a sample thread; 3) Perform sample detection: The sample management module queries the task list, and then submits resource applications corresponding to all execution actions required for sample detection. The control module performs resource allocation control. If the corresponding resource is idle, the corresponding execution action is performed; otherwise, it waits until the resource is idle, and releases the corresponding resource after the execution action is completed; 4) Complete all execution actions until the detection is completed.

9. The asynchronous concurrent scheduling control system of the object-oriented full-automatic device according to claim 8, wherein Among them, The specific steps for performing sample detection include: 3-1) The sample management module obtains sample information and the task list, and determines all execution actions required for sample detection and the corresponding resources; 3-2) The sample management module submits a resource application, and the control module performs resource allocation control. If the resource is idle, proceed to the next step; otherwise, wait for the resource; 3-3) If the current application has the highest priority, proceed to the next step; otherwise, return to the previous step; 3-4) Perform the execution action, and check whether the detection action is completed. If the action is not completed, perform exception handling until the action is completed; 3-5) Release the resource after the action is completed, and determine whether the sample detection process is completed. If so, end; otherwise, return to step 2).

Citation Information

Patent Citations

  • Asynchronous batch processing method and system

    CN106126354A

  • Socket thread pool design method oriented to multi-terminal wireless communication

    CN106997307A