一种多交互通道的自动化设备的控制平台的制作方法

文档序号:12595695阅读:156来源:国知局
一种多交互通道的自动化设备的控制平台的制作方法与工艺

本发明涉及一种多交互通道的自动化设备的控制平台。



背景技术:

随着人工智能技术的发展,语音交互、视觉交互等交互技术已逐步达到实用水平,并开始被应用于各种自动化设备中,而自动化设备为实现具体事务功能,自身就具备多样交互通道。例如:以传统金融自助设备为代表的自动化设备就具备以触摸屏、键盘、卡片为主的三个输入交互通道,显示屏、打印机、出钞口、发卡口、语音提示为主的多个输出交互设备;在新兴的服务机器人之类的自动化设备上,除了传统自助设备就具备的输入输出交互通道外,还具备了以语音识别、人脸识别为代表的输入交互通道,以自主导航移动、肢体转动为代表的输出交互通道。

多交互通道并行工作时,部分交互通道之间可能存在互相重叠和互相依赖的关系,若无法正确处理多交互通道的协同,及时修正交互依赖之间的故障,可能导致整体自动化设备事务功能的异常。例如:服务机器人形态的金融自助设备,即金融服务机器人,其语音命令和触摸屏都可以触发服务事务,如果没有统一的调用事务触发过程的处理机制,则可能造成语音命令和触摸屏虽然都输出了相同服务事务,但服务事务的具体输出交互表现不一致,造成体验混乱;语音命令和触屏可能在极短时间内同时触发了不同服务事务,可能造成事务的切换和具体输出执行流程混乱;金融服务机器人可能需要先一边移动到具体地点一边用语音引导客户,当到达具体地点后,再开始某个服务事务功能的交互流程,这一系列的交互过程都存在相互依赖的关系,若没有完善的控制机制,则可能出现机器人移动过程异常,而语音引导又一直进行错误引导提示的异常状态;金融服务机器人在为某项服务事务进行移动等耗时较长的处理过程时,语音输入交互通道还处于活跃状态,此时可能有人采用语音要求进入某个其他的服务事务,若缺乏合理的控制机制,则有可能出现语音插入的服务与当前正在进行长耗时过程的服务相冲突,进而出现整体自动化设备功能异常的状态。为解决这些交互通道协同和依赖、以及交互带来的自动化设备上事务协同的问题,需要有一个可靠的自动化设备控制平台。

目前在行业内存在ROS、Urbi等系统平台,可应用于机器人等自动化设备产品的开发。但这些系统平台的目标仅在于实现自动化设备各技术模块的集成和交互,并没有解决交互协同和依赖的控制问题,更没有解决因交互带来的事务及事务工作流程协同的问题。目前业内多交互通道的自动化设备的交互协同和事务协同还是依赖软件开发人员通过具体交互模块的编码来解决,没有成熟的平台可用,因此造成自动化设备添加或更换交互通道、添加或修改事务或事务的工作流程时,容易出现交互协同以及事务和事务工作流程协同的处理漏洞,既增加了设备维护开发工作量,又容易造成整体设备的不稳定。



技术实现要素:

本发明要解决的技术问题,在于提供一种多交互通道的自动化设备的控制平台,通过该控制平台提升自动化设备中各个模块以及各项事务工作流程之间协同的稳定性,降低自动化设备中各事务工作流程以及各输入输出模块开发的复杂性,提升自动化设备整体运行的稳定性。

本发明是这样实现的:一种多交互通道的自动化设备的控制平台,所述控制平台包括事件管理模块、动作执行管理模块、业务管理模块以及中心管理模块;

所述事件管理模块,用于将投递的事件按照投递的先后顺序存放到一事件队列中,并按照投递的先后顺序从事件队列中取出事件,且将事件分发给注册的各事件处理程序进行处理;

所述业务管理模块,用于执行业务的具体事务流程,且根据业务在执行过程中的状态变化调用对应的实现接口,并执行调用的实现接口的处理流程,以及仲裁业务之间的冲突;

所述动作执行管理模块,用于运行动作的工作流程,以及根据动作在运行过程中的状态变化调用对应的实现接口,并运行调用的实现接口的处理流程,且记录该动作在运行过程中产生的运行数据;

所述中心管理模块,用于对控制平台中的各个模块进行启动时的注册以及在退出时的取消注册,且在各个模块的注册期间以固定频率向各个模块发送心跳测试信号以及接收各个模块对心跳测试信号的应答;同时根据各个模块对心跳测试信号的应答情况确认各个模块是否正常工作,且一旦发现某一模块无法正常工作,则立即重启该模块;如果重启后仍无法正常工作,则停止整个控制平台的运行。

进一步地,所述事件管理模块具体为:

用于提供投递消息接口、注册事件处理程序接口以及事件队列,并通过所述投递消息接口接收投递的事件,通过所述注册事件处理程序接口注册事件处理程序,以及将投递的事件按照投递的先后顺序存放到所述事件队列中,且按照投递的先后顺序从事件队列中取出事件,并将事件按照后注册先调用的方式分发给注册的各事件处理程序进行处理;

所述事件由事件源产生并投递,且每所述事件均具有事件ID以及事件参数,其中,所述事件ID表示引起事务或者事务工作流程变更的信号类型,所述事件参数表示事件ID所指代的信号的具体参数。

进一步地,所述业务管理模块包括业务集和业务管理器;

所述业务集,用于集合各种业务;每所述业务均由业务属性、业务接口以及动作列表组成,其中,

所述业务属性,用于描述业务的固有参数,且每一业务均至少包含业务ID和业务优先级两个固有参数;

所述业务接口,用于提供业务在执行过程中的状态变化的实现接口,具体包括:业务初始化接口、业务暂停接口、业务还原接口以及业务退出接口;

所述动作列表,用于放置业务所对应的具体事务所需要执行的动作元素,在放置时,每一动作元素均按照业务所对应的具体事务的动作执行顺序依次放置,且每一动作元素中均包含要启动的动作ID以及启动该动作时需要传递的动作参数;

所述业务管理器,用于从业务集中获取业务,执行业务的具体事务流程,且根据业务在执行过程中的状态变化调用对应的业务接口,并执行调用的业务接口的处理流程,以及根据业务优先级来仲裁业务之间的冲突。

进一步地,所述业务集中的每一业务均具有运行、挂起和停止三种状态,且所述业务具有业务参数;

所述业务在执行过程中的状态变化包括:从运行状态切换到挂起状态,从运行状态或者挂起状态切换到停止状态,从停止状态或者挂起状态切换到运行状态,其中,

业务从停止状态切换到运行状态的过程为加载过程;

业务从运行状态或者挂起状态切换到停止状态的过程为退出过程;

业务从运行状态切换到挂起状态的过程为暂停过程;

业务从挂起状态切换到运行状态的过程为还原过程。

进一步地,所述动作执行管理模块包括动作集、动作框架、动作调度单元以及动作容器;

所述动作集,用于集合各种动作,且各所述动作均具有动作ID和动作参数;

所述动作框架,用于提供动作在运行过程中的状态变化的实现接口,具体实现接口包括:正在启动、启动过程中、启动完成、启动完成通知、正在终止、终止过程中、终止完成、终止完成通知、正在中断、中断过程中、中断完成、中断完成通知、正在恢复、恢复过程中、恢复完成以及恢复完成通知共16个接口;

所述动作调度单元,用于从动作集中获取动作,运行动作的工作流程,以及根据动作在运行过程中的状态变化调用对应的实现接口,并运行实现接口的处理流程;

所述动作容器,用于记录各个运行动作的动作参数以及动作在运行过程中产生的运行数据。

进一步地,所述动作集中的每一动作均具有运行、挂起和停止三种状态;

所述动作在运行过程中的状态变化包括:从运行状态切换为挂起状态或者停止状态,从挂起状态切换为运行状态或者停止状态,以及从停止状态切换为运行状态,其中,

动作从停止状态切换为运行状态的过程为启动过程;

动作从运行状态或者挂起状态切换为停止状态的过程为终止过程;

动作从运行状态切换为挂起状态的过程为中断过程;

动作从挂起状态切换为运行状态的过程为恢复过程。

进一步地,所述业务管理器具体为:

从业务集中获取业务,并执行该业务的具体事务流程,且在执行完具体事务流程中的某一动作后,将根据该业务的动作列表启动下一顺位的动作;当执行完该业务的动作列表的最后一个动作时,则不再启动下一顺位的动作,并等待触发业务的退出;

在业务的执行过程中,若发生了业务状态切换,则调用对应的业务接口,并执行该业务接口的处理流程;若对应的业务接口被省略实现,则跳过对该业务接口的调用;具体切换包括:在业务发生暂停过程时,则调用业务暂停接口,并触发该业务所对应的具体事务所需要执行的动作发生中断过程;在业务发生还原过程时,则调用业务还原接口,并触发该业务所对应的具体事务所需要执行的动作发生恢复过程;在业务发生退出过程时,则调用业务退出接口,且当某一动作按照其在该业务的动作列表中的顺位关系被执行完成时,则触发该动作发生终止过程;在业务发生加载过程时,则调用业务初始化接口,且当某一动作按照其在该业务的动作列表中的顺位关系被执行到时,则触发该动作发生启动过程;

同时,当某一个业务处于运行状态,另一个新业务又请求被加载时,则判断这两个业务的业务优先级,且如果请求被加载的业务比处于运行状态的业务的优先级高,则暂停处于运行状态的业务,并加载新业务;否则,继续运行原有的业务,并终止新业务的加载,且终止新业务加载时,不调用被终止加载的新业务的业务初始化接口、业务暂停接口、业务还原接口以及业务退出接口。

进一步地,所述动作调度单元具体为:

从动作集中获取动作,运行动作的工作流程,且在动作运行的过程中,若发生了动作状态切换,则调用对应的实现接口,并执行该实现接口的处理流程,具体包括:

在动作发生启动过程时,则依次调用正在启动、启动过程中、启动完成、启动完成通知四个接口实现动作启动;在动作发生终止过程时,则依次调用正在终止、终止过程中、终止完成、终止完成通知四个接口实现动作;在动作发生中断过程时,则依次调用正在中断、中断过程中、中断完成、中断完成通知四个接口实现动作中断;在动作发生恢复过程时,则依次调用正在恢复、恢复过程中、恢复完成以及恢复完成通知四个接口实现动作恢复;在发生动作状态切换时,若对应的实现接口被省略实现,则跳过对该实现接口的调用,并继续调用下一顺位的实现接口。

进一步地,所述中心管理模块具体为:

接收来自控制平台中的各个模块的启动参数,并对控制平台中的各个模块进行启动注册,且在各个模块退出时,取消对各个模块的注册;

在从注册到取消注册的时间段内,以固定频率向各个模块发送心跳测试信号,并接收各个模块对心跳测试信号的应答,且若检测到某一模块对心跳测试信号连续不做应答的超过设定的次数值,则判定该模块无法正常工作,此时立即强制关闭该模块的进程或者线程,并利用该模块在启动时注册的启动参数重启该模块;如果该模块在重启后仍被判定为无法正常工作,则停止整个控制平台的运行;

同时,在中心管理模块内启动一个守护进程,并在中心管理模块与守护进程之间以固定频率互相发送心跳测试信号以及接收对方对心跳测试信号的应答,且若中心管理模块和守护进程的任意一者发现对方对心跳测试信号连续不做应答的超过设定的次数值,则输出异常提示,并停止整个控制平台的运行。

本发明具有如下有益效果:

(1)本发明用事件来表示对自动化设备工作流程产生的影响或模块之间交互的状态变更,并将事件源和事件的处理分为两个实体,这可以使对自动化设备工作流程产生影响的模块与工作流程的具体变更控制模块得到分离;同时,本发明还使用同一事件来表示对自动化设备工作流程产生相同影响或模块之间交互的相同状态变更,使工作流程的具体变更并不需要获知影响和变更的源头,这使得对自动化设备工作流程产生影响的模块与工作流程的具体变更控制模块可以完全解耦合,并且不同的模块可以促发相同的变更,而变更的具体处理可以被归一化执行,解决了由不同源头触发的变更的具体表现容易出现不一致的问题。

(2)本发明采用由业务的动作列表来定义业务所代表的事务工作流程,动作列表只给出流程步骤中要启动的动作ID和动作参数,具体工作流程交由业务管理器来驱动调度的控制方式,该控制方式使得事务的工作流程可以通过简单的配置来实现,而无需经过复杂的程序开发,这简化了在自动化设备中变更和添加事务工作流程的开发工作,减少了因复杂程序开发可能带来的自动化设备工作不稳定的风险。

(3)本发明定义了业务的调度过程由业务管理器具体负责,业务可以通过业务接口选择性地在业务需要执行特殊处理的流程处进行自定义处理。该方式配合上述第(2)点使得在自动化设备中仅需要通过配置和少量的程序扩展,就能定义出一个适应特殊事务需求的业务,这简化了自动化设备中业务实现的复杂度,减少了所实现的业务工作不稳定的风险。

(4)本发明采用由业务中的动作列表来定义业务所代表的事务工作流程,动作列表中的动作按顺序执行,同一事务的动作由同一个动作容器提供独立的运行环境,该方式为动作的协同提供了一种统一的处理方式,动作不必在其程序内部考虑协同的处理方法,可以减少协同出错的可能性,不同事务的动作也被隔离开来,避免了其相互冲突和相互影响。这使得动作模块的开发更简单,动作的协同也更加稳定。

(5)本发明采用业务管理模块的业务属性来提供业务冲突仲裁的参考数据,并根据参考数据进行业务冲突仲裁的业务协同工作机制,即将业务协同交由业务管理器进行统一处理,使得业务的协同不再需要通过业务与业务间复杂的编程来实现,仅需要通过属性配置就可以实现业务的协同,这简化了自动化设备上业务协同的开发难度,减少了自动化设备中业务协同出现漏洞的概率,提升了自动化设备上业务协同的稳定性。

(6)本发明定义了动作的公共处理由动作框架来完成,动作可以通过动作的实现接口选择性地在动作需要特殊处理的流程处进行自定义处理,动作的实现接口可实现在动作自身或者通过动作的动作参数配置实现在其它模块中,使得动作自身、动作容器、动作调用者及其它任意模块都有机会自定义动作的细节处理。该方式使得自动化设备中可以基于几个基本的动作模块,通过配置和少量的程序扩展派生出不同事务场景所需要的特殊化动作,有效的提高了自动化设备中技术模块的复用性,保证了相似功能的稳定性,提高了配置的灵活性。

(7)通过中心管理模块来监控能够影响自动化设备工作稳定性的各个模块,且当有模块出现异常时,可以通过自动重启模块的方式尝试自动修复;同时该中心管理模块也对自身进行稳定性的监控,当中心管理模块出现稳定性异常时,就停止自动化设备上所有模块的工作,以避免不可修复异常造成严重的损失。因此可以有效提升自动化设备的工作稳定性,并控制自动化设备由于工作异常造成的损失风险。

综合以上七点,通过将本发明的控制平台应用于多交互通道的自动化设备中,可以提升自动化设备中各个模块以及各项事务工作流程之间协同的稳定性,降低自动化设备中各事务工作流程以及各输入输出模块开发的复杂性,提升自动化设备整体运行的稳定性。

附图说明

下面参照附图结合实施例对本发明作进一步的说明。

图1为本发明多交互通道的自动化设备的控制平台的结构框图。

图2为本发明中实现事件投递以及事件处理程序注册的示意图。

图3为本发明中业务的组成示意图。

图4为本发明中动作框架所提供的接口示意图。

具体实施方式

请参照图1至图4所示,一种多交互通道的自动化设备的控制平台100,所述控制平台100包括事件管理模块1、业务管理模块2、动作执行管理模块3以及中心管理模块4;

所述事件管理模块1,用于将投递的事件51按照投递的先后顺序存放到一事件队列13中,并按照投递的先后顺序从事件队列13中取出事件51,且将事件51分发给注册的各事件处理程序6进行处理;

所述业务管理模块2,用于执行业务的具体事务流程,且根据业务在执行过程中的状态变化调用对应的实现接口,并执行调用的实现接口的处理流程,以及仲裁业务之间的冲突;

所述动作执行管理模块3,用于运行动作的工作流程,以及根据动作在运行过程中的状态变化调用对应的实现接口,并运行调用的实现接口的处理流程,且记录该动作在运行过程中产生的运行数据;

所述中心管理模块4,用于对控制平台100中的各个模块进行启动时的注册以及在退出时的取消注册,且在各个模块的注册期间以固定频率向各个模块发送心跳测试信号以及接收各个模块对心跳测试信号的应答;同时根据各个模块对心跳测试信号的应答情况确认各个模块是否正常工作,且一旦发现某一模块无法正常工作,则立即重启该模块;如果重启后仍无法正常工作,则停止整个控制平台100的运行。

所述事件管理模块1具体为:

用于提供投递消息接口11、注册事件处理程序接口12以及事件队列13,并通过所述投递消息接口11接收投递的事件51,所谓的事件51就是能够引起事务或事务工作流程变更的信号,通过所述注册事件处理程序接口12注册事件处理程序6,以及将投递的事件51按照投递的先后顺序存放到所述事件队列13中,且按照投递的先后顺序从事件队列13中取出事件51,并将事件51按照后注册先调用的方式分发给注册的各事件处理程序6进行处理(如图2所示)。例如,先注册一个招手事件,然后又向招手事件中注册一个语音播报事件,以实现先播放语音再执行招手动作,此时就将招手事件先放到事件队列13中,再将语音播报事件也放到事件队列13中;在分发事件时,则先将语音播报事件分发给事件处理程序进行处理,以实现先播报语音,然后再将招手事件分发给事件处理程序进行处理,以实现招手功能,这就是后注册先调用的方式。在实施时,基于本发明控制平台100上的任意模块都可以通过投递消息接口11投递事件51,也可以通过注册事件处理程序接口12注册事件处理程序6。事件处理程序6可以针对性的接收一个或多个事件51进行处理,也可以非针对性的接收所有事件51处理。

所述事件51由事件源5产生并投递,且每所述事件51均具有事件ID以及事件参数,其中,所述事件ID表示引起事务或者事务工作流程变更的信号类型,所述事件参数表示事件ID所指代的信号的具体参数。事件参数随着自动化设备运行的状态而变化,且相同的事件ID可以具备不同的事件参数,例如事件ID表示的是一个控制行走的信号,那么事件参数可以是向东行走、向西行走、向西南行走等。在自动化设备中,能够引起事务或者事务工作流程变更的输入通道必须是事件源5,同一个事件源5可以产生和投递出不同事件ID的事件51(例如可以投递出一个语音播报事件,也可以投递出一个控制行走事件等);而不同事件源5如果能引起自动化设备的事务或事务工作流程发生相同变更的,则必须产生和投递出相同事件ID的事件来标识其引起的相同变更,例如,事件源一投递出的是通过语音控制行走事件,事件源二投递出的是通过招手控制行走事件,则它们产生和投递出的事件ID都是控制行走。

所述业务管理模块2包括业务集21和业务管理器22;

所述业务集21,用于集合各种业务,业务是自动化设备中所需要完成的具体事务的实现体;每所述业务均由业务属性211、业务接口213以及动作列表212组成(如图3所示),其中,

所述业务属性211,用于描述业务的固有参数,且每一业务均至少包含业务ID和业务优先级两个固有参数;业务ID是用于快速识别不同业务的身份标示符;业务优先级用于描述业务在整体业务集21中的优先程度,以方便仲裁和调度业务冲突时使用,例如,业务a的优先级比业务b的优先级高,则在发生冲突时,可以仲裁业务a优先运行;

所述业务接口213,用于提供业务在执行过程中的状态变化的实现接口,具体包括:业务初始化接口213a、业务暂停接口213b、业务还原接口213c以及业务退出接口213d;业务初始化接口213a在加载过程中被调用,用于实现特定业务的初始化处理;业务暂停接口213b在暂停过程中被调用,用于实现特定业务被暂停时的自定义的暂停处理;业务还原接口213c在还原过程中被调用,用于实现特定业务被还原时的自定义的还原处理;业务退出接口213d在退出过程中被调用,用于实现特定业务被退出时的自定义的终止处理。且以上四个业务接口213都是可以省略实现的。

所述动作列表212,用于放置业务所对应的具体事务所需要执行的动作元素,在放置时,每一动作元素均按照业务所对应的具体事务的动作执行顺序依次放置,且每一动作元素中均包含要启动的动作ID以及启动该动作时需要传递的动作参数;

所述业务管理器22,用于从业务集21中获取业务,执行业务的具体事务流程,且根据业务在执行过程中的状态变化调用对应的业务接口213,并执行调用的业务接口213的处理流程,以及根据业务优先级来仲裁业务之间的冲突。

所述业务集21中的每一业务均具有运行、挂起和停止三种状态,且所述业务具有业务参数,该业务参数可以向业务提供辅助数据,以使业务可以完成特定的功能;所述业务在执行过程中的状态变化包括:从运行状态切换到挂起状态,从运行状态或者挂起状态切换到停止状态,从停止状态或者挂起状态切换到运行状态,其中,业务从停止状态切换到运行状态的过程为加载过程;业务从运行状态或者挂起状态切换到停止状态的过程为退出过程;业务从运行状态切换到挂起状态的过程为暂停过程;业务从挂起状态切换到运行状态的过程为还原过程。

所述动作执行管理模块3包括动作集31、动作框架32、动作调度单元33以及动作容器34;

所述动作集31,用于集合各种动作,动作是在本发明控制平台100上完成具体功能点的模块统称,它包括自动化设备所有实现输出通道功能以及自动化设备内部工作流程所需的单步骤工作功能的模块,且各所述动作均具有动作ID和动作参数;其中,动作参数用于向要执行的动作提供辅助数据,以使动作可以利用辅助数据完成确定的功能,该动作参数也可以不要,具体可以根据动作的设计需要来决定;动作ID用于快速识别具体动作的身份。

所述动作框架32,用于提供动作在运行过程中的状态变化的实现接口,具体实现接口包括:正在启动3201、启动过程中3202、启动完成3203、启动完成通知3204、正在终止3211、终止过程中3212、终止完成3213、终止完成通知3214、正在中断3221、中断过程中3222、中断完成3223、中断完成通知3224、正在恢复3231、恢复过程中3232、恢复完成3233以及恢复完成通知3234共16个接口(如图4所示);其中,启动过程中3202、终止过程中3212、中断过程中3222以及恢复过程中3232这四个接口由动作自身来实现;正在启动3201、启动完成3203、正在终止3211、终止完成3213、正在中断3221、中断完成3223、正在恢复3231以及恢复完成3233这八个接口由控制平台100上的任意模块实现,由动作参数具体负责指定;启动完成通知3204、终止完成通知3214、中断完成通知3224以及恢复完成通知4234由动作容器34实现,由动作参数具体负责指定。同时以上16个实现接口都可以被省略实现。

所述动作调度单元33,用于从动作集31中获取动作,运行动作的工作流程,以及根据动作在运行过程中的状态变化调用对应的实现接口,并运行实现接口的处理流程;

所述动作容器34提供一个独立的存储空间,用于记录各个运行动作的动作参数以及动作在运行过程中产生的运行数据。在具体实施时,该动作容器34能够为同属于一个事务处理过程的多个动作提供一个隔离于其它事务处理过程的运行环境。所有的动作都只能在某一个具体的动作容器34中被启动和执行,当某一个具体的动作容器34被关闭时,其内部包含的所有非停止状态的动作都将被终止。

所述动作集31中的每一动作均具有运行、挂起和停止三种状态;所述动作在运行过程中的状态变化包括:从运行状态切换为挂起状态或者停止状态,从挂起状态切换为运行状态或者停止状态,以及从停止状态切换为运行状态,其中,动作从停止状态切换为运行状态的过程为启动过程;动作从运行状态或者挂起状态切换为停止状态的过程为终止过程;动作从运行状态切换为挂起状态的过程为中断过程;动作从挂起状态切换为运行状态的过程为恢复过程。

所述业务管理器22进一步具体为:

从业务集21中获取业务,并执行该业务的具体事务流程,且在执行完具体事务流程中的某一动作后,将根据该业务的动作列表212启动下一顺位的动作;当执行完该业务的动作列表212的最后一个动作时,则不再启动下一顺位的动作,并等待触发业务的退出,即在执行完业务的动作列表212中的最后一个动作后,该业务仍处于非停止状态,直到控制平台100中的某一事件处理程序在处理另一事件时引起了业务退出,或者控制平台100上的某一模块的内部处理引起了业务退出时,该业务才会停止并退出;

在业务的执行过程中,若发生了业务状态切换,则调用对应的业务接口213,并执行该业务接口213的处理流程,例如,业务A在执行的过程中,若某一事件引起该业务A切换到暂停状态,此时就调用业务暂停接口213b;若对应的业务接口213被省略实现,则跳过对该业务接口213的调用;具体切换包括:在业务发生暂停过程时,则调用业务暂停接口213b,并触发该业务所对应的具体事务所需要执行的动作发生中断过程;在业务发生还原过程时,则调用业务还原接口213c,并触发该业务所对应的具体事务所需要执行的动作发生恢复过程,例如,该业务所对应的具体事务所需要执行的动作Q在之前处于暂停状态,此时就触发该动作Q发生恢复过程;在业务发生退出过程时,则调用业务退出接口213d,且当某一动作按照其在该业务的动作列表212中的顺位关系被执行完成时,则触发该动作发生终止过程,例如,按照该业务的动作列表212中的顺位关系,动作W已被执行完,此时就触发动作W发生终止过程;在业务发生加载过程时,则调用业务初始化接口213a,且当某一动作按照其在该业务的动作列表212中的顺位关系被执行到时,则触发该动作发生启动过程,例如,按照该业务的动作列表212中的顺位关系,接下来要执行的是动作A,此时就触发动作A发生启动过程;

同时,当某一个业务处于运行状态,另一个新业务又请求被加载时,则判断这两个业务的业务优先级,且如果请求被加载的业务比处于运行状态的业务的优先级高,则暂停处于运行状态的业务,并加载新业务;否则,继续运行原有的业务,并终止新业务的加载,且终止新业务加载时,不调用被终止加载的新业务的业务初始化接口213a、业务暂停接口213b、业务还原接口213c以及业务退出接口213d。

所述动作调度单元33进一步具体为:

从动作集31中获取动作,运行动作的工作流程,且在动作运行的过程中,若发生了动作状态切换,则调用对应的实现接口,并执行该实现接口的处理流程,具体包括:

在动作发生启动过程时,则依次调用正在启动3201、启动过程中3202、启动完成3203、启动完成通知3204四个接口实现动作启动;在动作发生终止过程时,则依次调用正在终止3211、终止过程中3212、终止完成3213、终止完成通知3214四个接口实现动作;在动作发生中断过程时,则依次调用正在中断3221、中断过程中3222、中断完成3223、中断完成通知3224四个接口实现动作中断;在动作发生恢复过程时,则依次调用正在恢复3231、恢复过程中3232、恢复完成3233以及恢复完成通知3234四个接口实现动作恢复;在发生动作状态切换时,若对应的实现接口被省略实现,则跳过对该实现接口的调用,并继续调用下一顺位的实现接口。

所述中心管理模块4具体为:

接收来自控制平台100中的各个模块的启动参数,并对控制平台100中的各个模块进行启动注册,且在各个模块退出时,取消对各个模块的注册;由于控制平台100中的各个模块是否正常工作,都会直接影响到自动化设备的整体稳定性,因此,需要通过该中心管理模块4来维护整体的稳定性;

在从注册到取消注册的时间段内,以固定频率向各个模块发送心跳测试信号,并接收各个模块对心跳测试信号的应答,且若检测到某一模块对心跳测试信号连续不做应答的超过设定的次数值(例如设定的次数值为3),具体次数值可以根据所应用的自动化设备的软硬件模块的正常工作频率或容错机制进行设定,则判定该模块无法正常工作,此时立即强制关闭该模块的进程或者线程,并利用该模块在启动时注册的启动参数重启该模块;如果该模块在重启后仍被判定为无法正常工作,则停止整个控制平台100的运行;

同时,在中心管理模块4内启动一个守护进程,并在中心管理模块4与守护进程之间以固定频率互相发送心跳测试信号以及接收对方对心跳测试信号的应答,且若中心管理模块4和守护进程的任意一者发现对方对心跳测试信号连续不做应答的超过设定的次数值,则在自动化设备的输出通道上输出异常提示,并停止整个控制平台100的运行。

虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

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