一种基于多任务染色规程的染色调度系统及调度方法与流程

文档序号:15076533发布日期:2018-08-01 01:51阅读:175来源:国知局

本发明涉及细胞涂片染色机控制技术领域,具体涉及一种基于多任务染色规程的染色调度系统及调度方法。



背景技术:

染色是生物显微玻片标本制作中最重要的环节,是利用染料在组织切片上给与颜色,使其与组织或细胞内的某种成分互相作用,经过透明后通过光谱吸收和折射,使其各种微细结构能显现不同颜色,这样在显微镜下就可显示出组织细胞的各种成分。当今医学诊断中,染色细胞标本已经被医学家、生物病理学家等广泛采用来辅助完成疾病的诊断。如今,采用全自动化仪器替代人工染色已成为当前医学工作者广泛采用的手段。全自动染色机因其使用方便,染色品质稳定等优点,目前很受病理学科学家们的青睐。

染色规程是根据该种染色的特点或作用来命名,如巴氏染色、福尔根染色、复合染色等,它不仅指示了每一步染色操作的具体参数,还指示所有染色步骤的先后顺序。实际染色时是以一个批次的玻片或者一个染架为单位完成一种染色类型的所有步骤,该完整过程可称为一个染色规程。单个染色规程的运行比较好处理,可以把整个规程看做一个整体,这个规程虽然内部参数众多步骤众多,但只要顺序执行即可;但是在实际染色操作过程中,为了提高染色机的利用效率,避免染色机在大量时间内处于空闲等待状态,往往需要使所有染架同时进行染色操作。这种情况下若继续将每个规程当做一个整体,那么运行过程中各个规程间及不同步骤间会互相牵制互相竞争,若没有清晰的脉络和思想,各种步骤很容易缠绕在一起,造成有的规程长期得不到执行,有的规程操作时间超限等问题,需设计一种适用于多任务染色规程的调度方法来解决这个问题。



技术实现要素:

针对现有技术中存在的技术问题,本发明的目的在于提供了一种基于多任务染色规程的染色调度系统及调度方法,使用该调度系统和调度方法,自动染色机在执行多任务时,每个任务可按状态跟踪模块中指定的参数运行,保证了每个染色规程正确操作,解决了染色机在大量时间内处于空闲等待状态、染色效率低的问题。

本发明的技术方案是这样实现的:

一种适用于多任务染色规程的染色调度系统,其特征在于,包括控制模块、状态跟踪模块和若干个任务调度模块,所述控制模块用于依据状态跟踪模块和任务调度模块记录的实时信息控制执行调度程序,所述控制模块与状态跟踪模块和任务调度模块连接;所述状态跟踪模块包括染色步骤信息块及染色规程信息块、染架状态控制块、染缸状态控制块及载盘状态控制块和染色任务控制块,每个任务调度模块均与状态跟踪模块连接,其中:

所述染色步骤信息块用于记录每个染色步骤中染液类型和染色时间,将步骤信息结构体按顺序组成结构体数组从而记录整个染色流程信息;染色规程信息块用于记录染色流程信息、染色名称总步数信息;

所述染架状态控制块用于控制染架的位置和状态信息;

所述染缸状态控制块及载盘状态控制块用于控制染缸和载盘的位置和状态信息;

所述染色任务控制块用于记录当前任务状态,每一个染架对应一个任务,该任务块实际是用于记录跟踪染架,包含了染色子规程所有动作流程和信息;

每个任务调度模块用于依据所述状态跟踪模块的信息及染色任务要求,将多任务对应的多个父染色规程分别分割成顺序连接的通用子规程,然后按顺序循环载入子规程运行,从而执行完单个父规程。

进一步地,所述染架状态控制块实时更新记录的染架状态和位置信息。

进一步地,所述染缸状态控制块及载盘状态控制块实时更新记录的染缸和载盘的位置、状态信息。

本发明还提供一种基于上述调度系统的适用于多任务染色规程的染色调度方法,包括以下步骤:

(1)用户在终端创建任务描述;

(2)控制器将多个染色任务对应的多个父染色规程分别分割成顺序连接的子染色规程;

(3)设定每个父染色规程优先级;

(4)控制器读取染色任务控制块信息;

(5)染色任务信息初始化;

(6)执行多任务染色调度程序,同步运行多个任务对应的顺序连接的通用子规程,每个任务中运行一个任务调度模块,状态跟踪模块实时更新信息。

进一步地,步骤(2)中父染色规程分割过程将不同的父染色规程分解为通用的子染色规程,由统一的调度程序来统一调度。

进一步地,步骤(3)中定义每个父染色规程优先级过程是通过设置于控制器中的特定算法给各个父染色规程设置优先级。

更进一步地,使用者可以自行定义各父染色规程的优先级别。

进一步地,步骤(4)中是采用init_chunk()函数来读取任务控制块信息。

进一步地,所述步骤(6)中调度程序为:

(a)依照染色规程信息块的染液需求查找含有对应染液的染缸,如果没有找到合适的染缸,那么就将染架放入载盘暂存站点;如果查找到合适的染缸,则进行(b)操作;

(b)查找染色架位置,将染色架放入染缸开始染色,此时读取染色时间并存入时间管理器,重新修改更新优先级,后台自动倒计时,同时将任务挂起,等待倒计时完成;

(c)任务重新激活进入下一染色子规程,循环进行直至染色完成;

(d)把染架放置到空闲的载盘停止站点,至此整个染色规程结束。

更进一步地,所述步骤(a)中设置一时间段,如果如果没有找到合适的染缸,那么就将染架放入载盘暂存站点,并且控制器会每隔该时间段的时间控制器查询一次有无合适染缸。

与现有技术相比,本发明的有益效果在于:

(1)本发明的适用于多个任务染色规程的染色调度系统及其调度方法,解决了染色机在大量时间内处于空闲等待状态、染色效率低的问题;

(2)本发明基于分割运行算法和染色规程运行规则,综合考虑程序运行的可行性、子规程的通用性和资源竞争机制,将多任务对应的多个父染色规程分别分割成顺序连接的通用子规程,多任务操作时,同时运行多个任务的子规程,同时实时更新状态跟踪模块的,保证每个任务可按状态跟踪模块中指定的参数运行,保证了每个染色规程正确操作,实现多染色规程同步运行。结果表明多任务模式下观察结果与单任务无差别,多任务染色操作准确,运行可靠。

附图说明

图1为实施例1中染色调度系统的结构示意图;

图2为实施例1中染色调度系统的状态跟踪模块的结构示意图;

图3为实施例2中染色任务父规程分割的通用性子规程示意图;

图4为实施例2中考虑竞争机制的通用子规程示意图;

图5为实施例2中父规程运行方法流程图;

图6为实施例2中染色调度主程序流程图;

图7为实施例3中多任务模式下观察的福尔根染色前后对比示意图;

图8为实施例3中多任务模式下巴氏染色前后对比示意图。

具体实施方式

展示一下实例来具体说明本发明的某些实施例,且不应解释为限制本发明的范围。对本发明公开的内容可以同时从材料、方法和反应条件进行改进,所有这些改进,均应落入本发明的的精神和范围之内。

实施例1:适用于两个任务染色规程的染色调度系统

如图1和图2所示为一种适用于两个任务染色规程的染色调度系统,包括控制模块1、状态跟踪模块2、第一任务调度模块3和第二任务调度模块4,所述控制模块1用于依据状态跟踪模块2和任务调度模块记录的实时信息控制执行调度程序,控制模块1分别连接状态跟踪模块2和第一任务调度模块3和第二任务调度模块4;所述状态跟踪模块2包括染色步骤信息块及染色规程信息块201、染架状态控制块202、染缸状态控制块及载盘状态控制块203和染色任务控制块204,第一任务调度模块3和第二任务调度模块4均与状态跟踪模块2、控制模块1连接。

其中:染色步骤信息块及染色规程信息块201中染色步骤信息块用于记录每个染色步骤中染液类型和染色时间,将步骤信息结构体按顺序组成结构体数组从而记录整个染色流程信息,如福尔根染色流程;在此基础上再加入染色名称、总步数等辅助信息就成为了染色规程信息块;染架状态控制块202用于控制染架的位置和状态信息,每次操作后更新信息,以便下次操作快速查找染架;染缸状态控制块及载盘状态控制块203用于控制染缸和载盘的位置和状态信息,每次操作后更新信息;染色任务控制块204用于记录当前任务状态,每一个染架对应一个任务,该任务块实际是用于记录跟踪染架,包含了染色子规程所有动作流程和信息。

第一任务调度模块3对应于巴氏染色任务,用于依据状态跟踪模块的信息及巴氏染色任务要求,将巴氏染色任务的父染色规程分割成顺序连接的通用子规程,然后按顺序循环载入子规程运行,从而执行完巴氏染色任务单个父规程;第二任务调度模块4对应于硫堇染色任务,用于依据状态跟踪模块的信息及硫堇染色任务要求,将硫堇染色任务的父染色规程分割成顺序连接的通用子规程,然后按顺序循环载入子规程运行,从而执行完硫堇染色任务单个父规程;同时执行巴氏染色和硫堇染色任务时,需同时运行第一任务调度模块3和第二任务调度模块4,同时,实时更新状态跟踪模块2的记录的信息,这样就能保证每个任务可按状态跟踪模块中指定的参数运行,保证了每个染色规程正确操作,实现多染色规程同步运行。

本实施例中,针对巴氏染色任务和硫堇染色任务分别各设计了一个任务调度模块,但本发明并不局限于此,针对任务个数不同情况,本发明的调度系统中任务调度模块可以为2个、3个或更多个。

实施例2:基于实施例1的调度系统的适用于多任务染色规程的染色调度方法

基于实施1的调度系统开发了一适用于多任务染色规程的染色调度方法,该方法包括以下6个步骤。

1.用户在终端创建任务描述

用户开机后,在染色机上添加任务,包括添加染架、设置染架位置、选择染色类型等。

2.控制器将多个染色任务对应的多个父染色规程分别分割成顺序连接的子染色规程

基于分割运行算法思想及染色规程运行规则,本发明将每个任务的父规程分割成顺序连接的通用子规程。因为要求子规程具有通用性,即不管父规程是何种类型,父规程数量有多少,都可以按此子规程运行。多规程并行运行时还应加入寻找染架和寻找染缸的操作,因此设计的通用性的子规程如图3所示,具体工作流程为:当子规程开始运行时,首先传入该子规程所需的参数,如染液种类、染色时间等,然后根据染液类型寻找染缸所在位置;而染架根据每次处理情况不同,可能在一个染缸中,也可能在暂存位,因此紧接着需要获取到染架的位置信息,找到染架后机械臂操作取走染架放入染缸,开始延时倒计时。按照此方法,就能把多个染色规程打散成同一种类型的子规程,唯一的区别仅在于传入的参数不同,而参数传入这个操作在程序上非常容易实现。

考虑染缸的竞争机制,子规程传入参数开始时首先判断染缸是否空闲,若有空闲染缸则不存在竞争,按如图3所示的规程执行即可;若染缸被占用,根据规则该染架应该放入暂存位等待,放入暂存位之后任务即挂起,每隔5s激活任务扫描一次判断是否还有竞争。因此放入暂存位操作前还有一种情况需判断,就是染架是否已经在暂存位,若已在暂存位则不须任何操作,延时5s即可。考虑竞争机制的通用子规程如图4所示,通过此规程,解决了染缸竞争时,染架如何处理的问题,该规程执行完后,可以保证染架已有安置,而染架的状态是可以实时记录的,下个规程执行时查询染架记录就可找到染架。

因此,多任务操作时,控制单元接收到任务信息,并把任务信息中父规程按相应的算法分割成子规程,只需记录好所有子规程的执行顺序及每个子规程的参数,运行时按顺序循环载入子规程运行,当所有子规程都载入运行完后,整个父规程就执行完毕。在多任务操作系统中每个父规程对应一个独立的任务调度模块,同时运行各个任务调度模块,同时,实时更新状态跟踪模块的记录的信息,这样就能保证每个任务可按状态跟踪模块中指定的参数运行,保证了每个染色规程正确操作,实现多染色规程同步运行。

3.设定每个父染色规程优先级

多任务操作系统中每个线程的优先级是可以灵活调整的,这样就解决了规则中机械臂竞争的问题。在多任务系统中,每个线程挂起前先判断所有任务的优先级,再根据竞争机制动态调整,保持新挂起的线程优先级最低即可。详细程序流程如图5所示。其中定义每个父染色规程优先级过程是通过设置于控制器中的特定算法给各个父染色规程设置优先级,且使用者可以自行定义各父染色规程的优先级别。

4.控制器读取染色任务控制块信息

染色任务中首先采用init_chunk()函数来读取任务控制块信息,包含了染色子规程所有动作流程和信息。

5.染色任务信息初始化

染色任务中读取任务控制块信息后,再对架号、任务优先级等参数进行初始化。之后,由液晶屏显示当前任务的进度。

6.执行多任务染色调度程序

系统建立染色任务并完成初始化后,调度程序开始执行。首先依照染色规程信息块的染液需求查找含有对应染液的染缸,之后查找染色架位置,将染色架放入染缸开始染色,此时读取染色时间并存入时间管理器,后台自动倒计时,同时将任务挂起,等待倒计时完成后任务重新激活进入下一染色子规程,循环进行直至染色完成,最后把染架放置到空闲的载盘停止站点,至此整个染色规程结束。这里还考虑了两种竞争机制:对于染缸竞争,如果没有找到合适染缸,那么就将染架放入载盘暂存站点,每隔5秒查询一次有无合适染缸;对于机械臂和染缸优先级的竞争,则在倒计时前判断一次优先级变化,针对需求重新修改更新优先级别。

实施例3:多任务染色效果测试

多任务下资源竞争可能会导致染色步骤超时过染或染色错误,因此需要检测多任务模式下各染色规程是否受影响。本实施例中用了四个染架,两个用巴氏染色,两个用福尔根染色。分别添加到染色机中同时自动运行。图7为多任务模式下观察的福尔根染色前后对比,图8为多任务模式下巴氏染色前后对比。从显微镜观察结果来看,染色前,硫堇染色的宫颈细胞核呈透明无色状态,巴氏染色的宫颈癌细胞的细胞质呈透明状态。染色后,巴氏染色的细胞质呈粉红色或亮蓝色,细胞核呈棕黑色。硫堇染色的效果方面,宫颈癌细胞的细胞质呈蓝紫色,细胞核为深棕色。这两组染色中,细胞质与细胞核的对比都非常鲜明,在显微镜下肉眼就可清晰分辨细胞质与细胞核。多任务模式下观察结果与单任务无差别,说明染色操作准确,运行可靠。

本发明的适用于多任务染色规程的染色调度系统及其调度方法,解决了染色机在大量时间内处于空闲等待状态、染色效率低的问题;并且,运用本发明的调度系统及调度方法进行自动染色机多任务工作时,结果表明多任务模式下观察结果与单任务无差别,多任务染色操作准确,运行可靠。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1