一种设备状态管理方法与流程

文档序号:15357772发布日期:2018-09-05 00:12阅读:1500来源:国知局

本发明涉及一种设备管理方法,具体涉及一种设备状态管理方法。



背景技术:

现有技术中,一般有一个管理者来管理设备状态,管理者中存在一个用来表示状态的标识,并且根据状态标识来处理状态对应的业务,每当设备的状态改变,管理者就将状态标识改变到相应的状态。

现有的设备状态管理存在以下缺点:一、代码处理不够灵活,每个业务处理前都需要通过条件语句判断当前的状态,再决定要处理什么业务;二、业务拓展不够灵活,假如新加一个状态,则需要把所有业务遍历一遍,再在可能需要处理的业务中加入处理逻辑,且代码改动量较大,可能影响原有业务逻辑,风险不好把控,稳定性差。假如新增一个设备,业务处理复杂度提高远不止1+1,复杂度高会导致管理的稳定性差。



技术实现要素:

本发明的内容在于提供一种设备状态管理方法,其有效提高了设备状态管理的灵活性和稳定性。

为实现上述目的,本发明采用的技术方案是:

一种设备状态管理方法,其具体为:

采用一个管理器管理至少一个设备,当设备开始操作时,管理器创建一个会话,并将其关联设备的唯一标识作为操作会话的id;每一设备对应一个会话,而每一会话通过基类对应多个状态,每一状态继承自基类,且设备在同一时刻只能拥有一个状态;

当管理器接收外部产生的信号时,管理器根据信号中的会话id将信号分发给对应的会话,会话根据信号的内容从基类中调用相应状态的入口,进行具体的状态业务处理。

当设备需要加入一个新状态时,首先实现一个类继承基类,并实现该新状态所需的业务;然后将该新状态与其他关联的状态进行关联处理,即在该新状态中安插进入其他关联的状态的触发点,以及在其他关联的状态中安插进入该新状态的触发点。

在设备的每个状态上设置状态销毁前的业务处理和状态创建后的业务处理,所述状态销毁前的业务处理为释放状态执行过程中所申请的相关资源;所述状态创建后的业务处理为初始化状态所需的相关资源。

采用上述方案后,本发明具有以下有益效果:

一、设备状态管理灵活,功能稳定性好,业务处理逻辑耦合度低,业务分工明确:每个状态无需关心它之前状态是什么,无需关心其它状态需要处理什么业务,只需要关心自身状态收到怎样的输入信号而处理相应的业务或者进入下一个状态;

二、每个状态都有设置状态创建后和状态销毁前的默认操作,状态创建后就能够自动处理下一步业务,业务流程连贯;状态销毁即能做好清理工作,无需外部关心资源释放问题;

三、结构清晰,利于扩展,当需要再加入新状态的时候,只需继承cbasestate实现自身业务,然后关联前后状态即可,实现小范围改动,不影响整体业务。

附图说明

图1为本发明的原理框图。

具体实施方式

如图1所示,本发明揭示了一种设备状态管理方法,其具体为:

采用一个管理器manager管理至少一个设备,当设备开始操作时,管理器创建一个会话session,并将其关联设备的唯一标识作为操作会话session的id;每一设备对应一个会话session,而每一会话session通过基类cbasestate对应多个状态state,状态state继承自基类cbasestate,设备在同一时刻只能拥有一个状态state。例如,当管理器manager管理设备1、设备2、设备3三个设备时,设备1对应会话session1,设备2对应会话session2,设备3对应会话session3,而管理器mananger通过操作会话session1、会话session2、会话session3来分别操作设备1、设备2和设备3,设备1、设备2、设备3对应的是三个会话session之间是独立的。

当管理器mannager接收外部产生的信号时,管理器mananger根据信号中的sessionid将信号分发给对应的会话session,也就是将信号发送到了对应的设备上;会话session根据信号的内容从基类cbasestate中调用相应状态的入口,进行具体的状态业务处理。

该设备状态管理方法使用会话session来管理设备状态,使用状态处理设备业务,业务分工明确:每个状态无需关心它之前状态是什么,无需关心其它状态需要处理什么业务,只需要关心自身状态收到怎样的输入信号而处理相应的业务或者进入下一个状态。

当设备需要加入一个新状态时,首先实现一个类继承基类cbasestate,并实现该新状态所需的业务;然后将该新状态与其他关联的状态进行关联处理,即在该新状态中安插进入其他关联的状态的触发点,以及在其他关联的状态中安插进入该新状态的触发点。例如,一个设备中有状态a和状态c,现需要一个新的状态b,而状态b与状态a、状态c均有关联,且三个状态之间的切换关系为:状态a切换到状态b,状态b切换到状态c,状态c切换到状态b。那么在插入状态b时,首先实现一个类继承cbasestate,实现状态b所需的业务处理。然后进行关联处理,在状态b中安插进入状态c的触发点,即状态b达到一定的条件后要进入状态c,则在状态c条件满足处,触发进入状态c;在状态a、状态c中安插进入状态b的触发点,即,在状态a达到一定的条件后要进入状态b,则在状态a条件满足处,触发进入状态b,状态c达到一定的条件后要进入状态b,则在状态c条件满足处,触发进入状态b。

该设备状态管理方法的结构清晰,利于扩展,当需要再加入新状态的时候,只需继承基类cbasestate实现自身业务,然后关联前后状态即可,实现小范围改动,不影响整体业务。

在设备的每个状态上设置状态销毁前的业务处理和状态创建后的业务处理,其中,状态销毁前的业务处理为释放状态执行过程中所申请的相关资源;状态创建后的业务处理为初始化状态所需的相关资源。例如设备状态由状态a切换至状态b时,会话session会从基类cbasestate中调用状态业务处理入口,将状态a进行销毁,并创建状态b。状态a销毁之前,会释放状态a执行过程中的所申请的相关资源;状态b创建之后,会初始化状态b所需的相关资源。伴随着每一次状态切换,都会有旧状态资源释放和新状态资源初始化。

每个状态设置状态创建后的业务处理和状态销毁前的业务处理,状态创建后的业务处理使得状态在创建后就能够自动处理下一步业务,业务流程连贯;状态销毁前的业务处理使得状态能做好清理工作,无需外部关心资源释放问题。

以上所述,仅是本发明实施例而已,并非对本发明的技术范围作任何限制,故凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明技术方案的范围内。



技术特征:

技术总结
本发明涉及一种设备状态管理方法,当设备开始操作时,管理器创建一个会话,并将其关联设备的唯一标识作为操作会话的ID;每一设备对应一个会话,而每一会话通过基类对应多个状态;管理者接收外部信号,管理者根据会话ID将信号分发给对应设备的会话,会话根据信号内容从基类中调取相应状态的入口,进行相应的状态业务处理。本发明设备状态管理灵活,功能稳定性好,业务处理逻辑耦合度低;每个状态无需关心它之前状态是什么,无需关心其它状态需要处理什么业务,只需要关心自身状态收到怎样的输入信号而处理相应的业务或者进入下一个状态。

技术研发人员:卢荣富;柯剑峰;苏斌
受保护的技术使用者:厦门亿联网络技术股份有限公司
技术研发日:2018.03.20
技术公布日:2018.09.04
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1