CN114064232A - 基于面向对象的全自动设备异步并发调度控制系统及方法 - Google Patents
基于面向对象的全自动设备异步并发调度控制系统及方法 Download PDFInfo
- Publication number
- CN114064232A CN114064232A CN202111193354.9A CN202111193354A CN114064232A CN 114064232 A CN114064232 A CN 114064232A CN 202111193354 A CN202111193354 A CN 202111193354A CN 114064232 A CN114064232 A CN 114064232A
- Authority
- CN
- China
- Prior art keywords
- sample
- execution
- action
- resource
- detection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于面向对象的全自动设备异步并发调度控制系统及方法,该系统包括:样本管理模块,所述样本管理模块包括每个样本进行检测所需的执行动作、执行条件、检测起止的控制方法;任务管理模块,所述任务管理模块用于明确检测流程中的执行任务和执行机构,其包括资源、执行动作和任务生成器,所述任务生成器用于生成任务列表;以及控制模块,其包括任务列表检测单元、全部样本检测流程的起止控制以及资源分配单元,所述控制模块用于对实现每个样本检测的所有执行动作、资源进行协调控制,以配合所述样本管理模块、任务管理模块实现全部样本的检测。本发明能够灵活调度全自动设备的各个机构,使其协调运转,同时可提高设备的执行效率。
Description
技术领域
本发明涉及领域,特别涉及一种基于面向对象的全自动设备异步并发调度控制系统及方法。
背景技术
目前常用的调度算法主要有三种:先来先服务和短作业优先调度算法、高优先权优先调度算法、基于时间片的轮转调度算法。全自动设备的作业流程是固定的,必须考虑到执行各个环节的先后顺序和约束条件。以全自动体外检测设备为例,检测流程包含从试管中吸取样本、添加试剂、计算数据等多个执行任务,整个过程需要不同的机械臂分别进行抓取耗材、传送样本等操作。若待测样本较多,依次检测各样本效率太低,可以充分利用各个机械臂同时进行多个样本检测流程。在这种情况下,仅使用单一的调度方法难以高效灵活地调控设备。若采用传统的自顶向下流程式思想去实现功能,需要罗列和安排所有操作步骤,掌握从开始到结束每一个步骤的状态和可能性,较为繁琐也不够灵活。因此现在有必要提供一种更可靠的方案。
发明内容
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于面向对象的全自动设备异步并发调度控制系统及方法。本发明宏观上采用面向对象的思想,划分功能角色解决问题,微观上仍用面向过程思想逐步完成子任务,能够更加灵活高效地指挥自动设备协调运转
为实现上述目的,本发明采用的技术方案是:一种基于面向对象的全自动设备异步并发调度控制系统,该系统包括:
样本管理模块,其包括每个样本进行检测所需的全部执行动作的信息,所述样本管理模块至少包括每个样本进行检测所需的执行动作、执行条件、检测起止的控制方法;
任务管理模块,其包括检测过程中每个执行动作的信息,所述任务管理模块用于明确检测流程中的执行任务和执行机构,至少包括资源、执行动作和任务生成器,所述任务生成器用于生成任务列表;
以及控制模块,其至少包括任务列表检测单元、全部样本检测流程的起止控制以及资源分配单元,所述控制模块用于对实现每个样本检测的所有执行动作、资源进行协调控制,以配合所述样本管理模块、任务管理模块实现全部样本的检测。
优选的是,其中,所述资源是对各个执行机构的抽象,包含执行机构名称、执行机构编号、资源的标识位、执行机构可执行的动作和执行机构申请表;
所述执行动作是对检测流程中各个执行任务的抽象,包含任务的名称、编号、优先级、所需的执行机构和执行方法。
优选的是,其中,所述任务生成器生成任务列表以确定检测流程所包含的全部动作和动作执行方法,待测样本依照任务列表执行检测。
优选的是,其中,资源的标识位为“忙碌”或“空闲”两种状态中的一种,每个执行动作执行前必须先向相应资源提交申请,并通知所述控制模块存在待执行任务;所述控制模块被激活后依次查询各资源的状态与执行机构申请列表,根据分配规则确定出执行机构申请列表中优先级最高的样本,允许该样本使用资源并更改资源标识位为“忙碌”;执行动作执行完毕后释放资源,该资源的标识位恢复为“空闲”。
优选的是,其中,样本管理模块和控制模块都拥有单独的线程执行各自的功能与任务,分别记为样本线程和控制线程;
样本管理模块提交资源申请后,样本线程向控制模块发出请求信号,而后样本线程进入阻塞状态;控制线程接收到请求信号后被激活,确定资源如何分配后发送通知信号至相应样本线程;接收到通知信号并获取资源的样本线程被唤醒,然后对相应的样本执行动作,其余样本线程维持阻塞状态直至收到控制线程的通知信号;若无样本申请,控制线程进入阻塞状态等待激活。
优选的是,其中,单个样本检测时,主线和支线两个线程并发进行,各自按照任务列表中的执行顺序以串行工作模式完成全部动作;对于相互之间存在依赖性的主线动作与支线动作,在申请资源执行动作之前先判断条件,若不满足则相应线程进入等待状态,直到相关动作完成才允许申请资源并执行。
优选的是,其中,多个样本同时检测时,按优先级程度顺序为样本分配所需资源,执行动作期间申请同一资源的样本排队等候,申请其他资源的样本则继续由控制模块控制按优先级程度顺序分配资源。
优选的是,其中,检测过程中若执行动作的执行出现异常,自动进入该执行动作的异常处理程序,执行重试修复;同时确认异常等级,以此决定其他执行机构是否停止当前动作;若经过了异常处理仍无法恢复正常,则判定设备故障,并记录日志等待检修。
优选的是,该系统的控制方法包括以下步骤:
1)所述任务管理模块生成任务列表;
2)所述样本管理模块开启样本线程;
3)进行样本检测:所述样本管理模块查询任务列表,然后根据样本检测所需的所有执行动作提交向对应的资源申请,所述控制模块进行资源分配控制,若相应资源空闲则进行相应的执行动作,否则进入等待直至资源空闲,执行动作完成后释放相应资源;
4)完成所有执行动作,直至检测完成。
优选的是,其中,进行样本检测的具体步骤包括:
3-1)所述样本管理模块获取样本信息和任务列表,确定样本检测所需的所有执行动以及相应的资源;
3-2)所述样本管理模块提交资源申请,所述控制模块进行资源分配控制,若资源空闲则进入下一步,否则等待资源;
3-3)若当前申请优先级最高,则进入下一步,否则返回上一步;
3-4)执行动作,检测动作是否完成,若动作未完成则进行异常处理直至完成动作;
3-5)动作完成后释放资源,判断样本检测流程是否完成,若是,则结束,否则返回到步骤2)。
本发明的有益效果是:本发明提供了一种基于面向对象的全自动设备多部件异步并发调度控制系统及方法,本发明能够灵活调度全自动设备的各个机构,使其协调运转,同时可提高设备的执行效率。
附图说明
图1为本发明的实施例2中的基于面向对象的全自动设备异步并发调度控制方法的流程图;
图2为本发明的实施例2中的样本检测流程图。
具体实施方式
下面结合实施例对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
应当理解,本文所使用的诸如“具有”、“包含”以及“包括”术语并不排除一个或多个其它元件或其组合的存在或添加。
实施例1
本实施例的一种基于面向对象的全自动设备异步并发调度控制系统,该系统包括:
样本管理模块,其包括每个样本进行检测所需的全部执行动作的信息,所述样本管理模块至少包括每个样本进行检测所需的执行动作、执行条件、检测起止的控制方法;
任务管理模块,其包括检测过程中每个执行动作的信息,所述任务管理模块用于明确检测流程中的执行任务和执行机构,至少包括资源、执行动作和任务生成器,所述任务生成器用于生成任务列表;
以及控制模块,其至少包括任务列表检测单元、全部样本检测流程的起止控制以及资源分配单元,所述控制模块用于对实现每个样本检测的所有执行动作、资源进行协调控制,以配合所述样本管理模块、任务管理模块实现全部样本的检测。
本实施例中,每个模块分别由一个或多个不同的角色组成,维护特定的功能,分工合作。其中样本管理模块和控制模块都拥有单独的线程,以便高效明确地执行各自任务。待测样本必须通过相应资源完成一组既定的检测任务,而资源具有统一的状态属性,因此样本线程执行子任务前需发出资源申请信号,控制线程发现有待执行任务后查询资源状态进行调配。若任务执行出错,则自动查找异常处理方法解决问题。
其中,所述资源是对各个执行机构的抽象,包含执行机构名称、执行机构编号、资源的标识位、执行机构可执行的动作和执行机构申请表;所述执行动作是对检测流程中各个执行任务的抽象,包含任务的名称、编号、优先级、所需的执行机构和执行方法。其中,所述任务生成器生成任务列表以确定检测流程所包含的全部动作和动作执行方法,待测样本依照任务列表执行检测。
其中,资源的标识位为“忙碌”或“空闲”两种状态中的一种,每个执行动作执行前必须先向相应资源提交申请,并通知所述控制模块存在待执行任务;所述控制模块被激活后依次查询各资源的状态与执行机构申请列表,根据分配规则确定出执行机构申请列表中优先级最高的样本,允许该样本使用资源并更改资源标识位为“忙碌”;执行动作执行完毕后释放资源,该资源的标识位恢复为“空闲”。
检测流程中个别动作完成后必须立刻继续执行下一动作,存在较强的连贯性,因此允许正在执行这类动作的样本提前抢占资源以便及时完成任务。
其中,样本管理模块和控制模块都拥有单独的线程执行各自的功能与任务,分别记为样本线程和控制线程;同一时间内,一个线程只能执行一个任务,因此样本管理模块和控制模块都拥有独立的线程执行各自的功能与任务,协同工作完成检测。
多线程中往往存在线程间资源共享和相互制约的问题,需要采取一些方法保证线程的同步与通信,本发明中采用如下方案:样本管理模块提交资源申请后,样本线程向控制模块发出请求信号,而后样本线程进入阻塞状态;控制线程接收到请求信号后被激活,确定资源如何分配后发送通知信号至相应样本线程;接收到通知信号并获取资源的样本线程被唤醒,然后对相应的样本执行动作,其余样本线程维持阻塞状态直至收到控制线程的通知信号;若无样本申请,控制线程进入阻塞状态等待激活。另外,为了在确保线程安全的同时提高数据并发访问的性能,在优选的实施例中,使用读写锁对资源标识位进行读取和更改。
其中,单个样本检测时,主线和支线两个线程并发进行,各自按照任务列表中的执行顺序以串行工作模式完成全部动作;对于相互之间存在依赖性的主线动作与支线动作,在申请资源执行动作之前先判断条件,若不满足则相应线程进入等待状态,直到相关动作完成才允许申请资源并执行。
其中,多个样本同时检测时,按优先级程度顺序为样本分配所需资源,执行动作期间申请同一资源的样本排队等候,申请其他资源的样本则继续由控制模块控制按优先级程度顺序分配资源。
其中,检测过程中若执行动作的执行出现异常,自动进入该执行动作的异常处理程序,执行重试修复或其他处理方法;同时确认异常等级,以此决定其他执行机构是否停止当前动作;若经过了异常处理仍无法恢复正常,则判定设备故障,并记录日志等待检修。
实施例2
参照图1,一种实施例1中的基于面向对象的全自动设备异步并发调度控制系统的控制方法,其包括以下步骤:
1)所述任务管理模块生成任务列表;
2)所述样本管理模块开启样本线程;
3)进行样本检测:所述样本管理模块查询任务列表,然后根据样本检测所需的所有执行动作提交向对应的资源申请,所述控制模块进行资源分配控制,若相应资源空闲则进行相应的执行动作,否则进入等待直至资源空闲,执行动作完成后释放相应资源;
4)完成所有执行动作,直至检测完成。
参照图2,其中,进行样本检测的具体步骤包括:
3-1)所述样本管理模块获取样本信息和任务列表,确定样本检测所需的所有执行动以及相应的资源;
3-2)所述样本管理模块提交资源申请,所述控制模块进行资源分配控制,若资源空闲则进入下一步,否则等待资源;
3-3)若当前申请优先级最高,则进入下一步,否则返回上一步;
3-4)执行动作,检测动作是否完成,若动作未完成则进行异常处理直至完成动作;
3-5)动作完成后释放资源,判断样本检测流程是否完成,若是,则结束,否则返回到步骤2)。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节。
Claims (10)
1.一种基于面向对象的全自动设备异步并发调度控制系统,其特征在于,该系统包括:
样本管理模块,其包括每个样本进行检测所需的全部执行动作的信息,所述样本管理模块至少包括每个样本进行检测所需的执行动作、执行条件、检测起止的控制方法;
任务管理模块,其包括检测过程中每个执行动作的信息,所述任务管理模块用于明确检测流程中的执行任务和执行机构,至少包括资源、执行动作和任务生成器,所述任务生成器用于生成任务列表;
以及控制模块,其至少包括任务列表检测单元、全部样本检测流程的起止控制以及资源分配单元,所述控制模块用于对实现每个样本检测的所有执行动作、资源进行协调控制,以配合所述样本管理模块、任务管理模块实现全部样本的检测。
2.根据权利要求1所述的基于面向对象的全自动设备异步并发调度控制系统,其特征在于,其中,所述资源是对各个执行机构的抽象,包含执行机构名称、执行机构编号、资源的标识位、执行机构可执行的动作和执行机构申请表;
所述执行动作是对检测流程中各个执行任务的抽象,包含任务的名称、编号、优先级、所需的执行机构和执行方法。
3.根据权利要求2所述的基于面向对象的全自动设备异步并发调度控制系统,其特征在于,其中,所述任务生成器生成任务列表以确定检测流程所包含的全部动作和动作执行方法,待测样本依照任务列表执行检测。
4.根据权利要求3所述的基于面向对象的全自动设备异步并发调度控制系统,其特征在于,其中,资源的标识位为“忙碌”或“空闲”两种状态中的一种,每个执行动作执行前必须先向相应资源提交申请,并通知所述控制模块存在待执行任务;所述控制模块被激活后依次查询各资源的状态与执行机构申请列表,根据分配规则确定出执行机构申请列表中优先级最高的样本,允许该样本使用资源并更改资源标识位为“忙碌”;执行动作执行完毕后释放资源,该资源的标识位恢复为“空闲”。
5.根据权利要求4所述的基于面向对象的全自动设备异步并发调度控制系统,其特征在于,其中,样本管理模块和控制模块都拥有单独的线程执行各自的功能与任务,分别记为样本线程和控制线程;
样本管理模块提交资源申请后,样本线程向控制模块发出请求信号,而后样本线程进入阻塞状态;控制线程接收到请求信号后被激活,确定资源如何分配后发送通知信号至相应样本线程;接收到通知信号并获取资源的样本线程被唤醒,然后对相应的样本执行动作,其余样本线程维持阻塞状态直至收到控制线程的通知信号;若无样本申请,控制线程进入阻塞状态等待激活。
6.根据权利要求5所述的基于面向对象的全自动设备异步并发调度控制系统,其特征在于,其中,单个样本检测时,主线和支线两个线程并发进行,各自按照任务列表中的执行顺序以串行工作模式完成全部动作;对于相互之间存在依赖性的主线动作与支线动作,在申请资源执行动作之前先判断条件,若不满足则相应线程进入等待状态,直到相关动作完成才允许申请资源并执行。
7.根据权利要求5所述的基于面向对象的全自动设备异步并发调度控制系统,其特征在于,其中,多个样本同时检测时,按优先级程度顺序为样本分配所需资源,执行动作期间申请同一资源的样本排队等候,申请其他资源的样本则继续由控制模块控制按优先级程度顺序分配资源。
8.根据权利要求6或7所述的基于面向对象的全自动设备异步并发调度控制系统,其特征在于,其中,检测过程中若执行动作的执行出现异常,自动进入该执行动作的异常处理程序,执行重试修复;同时确认异常等级,以此决定其他执行机构是否停止当前动作;若经过了异常处理仍无法恢复正常,则判定设备故障,并记录日志等待检修。
9.根据权利要求8所述的基于面向对象的全自动设备异步并发调度控制系统,其特征在于,该系统的控制方法包括以下步骤:
1)所述任务管理模块生成任务列表;
2)所述样本管理模块开启样本线程;
3)进行样本检测:所述样本管理模块查询任务列表,然后根据样本检测所需的所有执行动作提交向对应的资源申请,所述控制模块进行资源分配控制,若相应资源空闲则进行相应的执行动作,否则进入等待直至资源空闲,执行动作完成后释放相应资源;
4)完成所有执行动作,直至检测完成。
10.根据权利要求9所述的基于面向对象的全自动设备异步并发调度控制系统,其特征在于,其中,进行样本检测的具体步骤包括:
3-1)所述样本管理模块获取样本信息和任务列表,确定样本检测所需的所有执行动以及相应的资源;
3-2)所述样本管理模块提交资源申请,所述控制模块进行资源分配控制,若资源空闲则进入下一步,否则等待资源;
3-3)若当前申请优先级最高,则进入下一步,否则返回上一步;
3-4)执行动作,检测动作是否完成,若动作未完成则进行异常处理直至完成动作;
3-5)动作完成后释放资源,判断样本检测流程是否完成,若是,则结束,否则返回到步骤2)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111193354.9A CN114064232A (zh) | 2021-10-13 | 2021-10-13 | 基于面向对象的全自动设备异步并发调度控制系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111193354.9A CN114064232A (zh) | 2021-10-13 | 2021-10-13 | 基于面向对象的全自动设备异步并发调度控制系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114064232A true CN114064232A (zh) | 2022-02-18 |
Family
ID=80234388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111193354.9A Pending CN114064232A (zh) | 2021-10-13 | 2021-10-13 | 基于面向对象的全自动设备异步并发调度控制系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114064232A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149393A (zh) * | 2023-09-27 | 2023-12-01 | 苏州深捷信息科技有限公司 | 一种可调试的计算机多任务调度方法和系统 |
-
2021
- 2021-10-13 CN CN202111193354.9A patent/CN114064232A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149393A (zh) * | 2023-09-27 | 2023-12-01 | 苏州深捷信息科技有限公司 | 一种可调试的计算机多任务调度方法和系统 |
CN117149393B (zh) * | 2023-09-27 | 2024-04-02 | 苏州深捷信息科技有限公司 | 一种可调试的计算机多任务调度方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9798595B2 (en) | Transparent user mode scheduling on traditional threading systems | |
CN107291547B (zh) | 一种任务调度处理方法、装置及系统 | |
US9886305B2 (en) | Determining the status of plurality of threads by monitoring the execution of folded thread | |
US8392932B2 (en) | Information processing device for causing a processor to context switch between threads including storing contexts based on next thread start position | |
US9448864B2 (en) | Method and apparatus for processing message between processors | |
US5377352A (en) | Method of scheduling tasks with priority to interrupted task locking shared resource | |
US7971205B2 (en) | Handling of user mode thread using no context switch attribute to designate near interrupt disabled priority status | |
US8639364B2 (en) | Uniform synchronizing robot control and deadlock detection in uniform synchronization | |
KR20040086214A (ko) | 인핸스드 런타임 호스팅 | |
US8381210B2 (en) | Method and computer for synchronous scheduling of multiple virtual CPUs | |
WO2005050435A2 (en) | Interrupt and trap handling in an embedded multi-threaded processor to avoid priority inversion and maintain real-time operation | |
CN114064232A (zh) | 基于面向对象的全自动设备异步并发调度控制系统及方法 | |
US11301304B2 (en) | Method and apparatus for managing kernel services in multi-core system | |
CN111143210A (zh) | 一种测试任务调度方法和系统 | |
US9015717B2 (en) | Method for processing tasks in parallel and selecting a network for communication | |
CN114153573A (zh) | 一种基于单线程池的多任务处理的方法及相关装置 | |
JPH11203149A (ja) | タスクスケジュール装置およびその方法 | |
CN110955507B (zh) | 基于vxWorks系统的多任务访问同一IIC总线的方法 | |
JPH09160790A (ja) | タスクスケジュール装置及びタスクスケジュール方法 | |
US6920585B1 (en) | Resource management for testing a communication system | |
CN102681881A (zh) | 跨机调度方法及其系统 | |
JPH10260850A (ja) | 仮想計算機システム | |
JPH07120302B2 (ja) | タスクデバッグ方式 | |
CN115599525A (zh) | 一种异步任务的调度方法、装置、设备及存储介质 | |
CN117891761A (zh) | 一种直接内存访问系统及数据搬运方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |