发明名称 |
一种状态机的实现方法及装置 |
摘要 |
本发明公开了一种状态机的实现方法及装置,主要技术方案包括:确定当前生成的事件以及状态机当前的状态;查找预先确定的存在响应关系的状态与事件的对应关系,判断当前生成的事件以及状态机当前的状态是否存在响应关系;若存在响应关系,则根据预先确定的存在响应关系的状态与事件对应的处理函数标识和转换的下一状态,确定出状态机当前的状态和当前生成的事件对应的处理函数标识以及转换的下一状态,并在执行确定的处理函数标识对应的处理函数成功后,控制所述状态机跳转至确定出的下一状态;若不存在响应关系,则控制所述状态机保持当前状态。采用该技术方案实现状态机,提高了状态转换的效率,并且易于维护。 |
申请公布号 |
CN101957751B |
申请公布日期 |
2013.07.24 |
申请号 |
CN201010193439.2 |
申请日期 |
2010.06.04 |
申请人 |
福建星网锐捷网络有限公司 |
发明人 |
熊俊 |
分类号 |
G06F9/44(2006.01)I |
主分类号 |
G06F9/44(2006.01)I |
代理机构 |
北京同达信恒知识产权代理有限公司 11291 |
代理人 |
郭润湘 |
主权项 |
一种状态机的实现方法,其特征在于,包括:若根据为状态机定义的状态、事件以及处理函数的关系,确定状态机为不确定有限状态机,则将为所述状态机定义的状态、事件以及处理函数的关系转换为确定有限状态机对应的状态、事件以及处理函数的关系;确定当前生成的事件以及所述状态机当前的状态;查找预先确定的存在响应关系的状态与事件的对应关系,判断所述当前生成的事件以及所述状态机当前的状态是否存在响应关系;若存在响应关系,则根据预先确定的存在响应关系的状态与事件对应的处理函数标识和转换的下一状态,确定出所述状态机当前的状态和所述当前生成的事件对应的处理函数标识以及转换的下一状态,并在执行确定的所述处理函数标识对应的处理函数成功后,控制所述状态机跳转至确定出的下一状态;若不存在响应关系,则控制所述状态机保持当前状态;其中,将为所述状态机定义的状态、事件以及处理函数的关系转换为确定有限状态机对应的状态、事件以及处理函数的关系,包括:根据为状态机定义的状态、事件以及处理函数的关系,确定对应多个转换的下一状态的当前状态;针对确定出的对应多个转换的下一状态的当前状态,分别执行:构造与所述多个转换的下一状态分别对应的响应事件;建立各响应事件与所述当前状态之间的响应关系;以及根据各响应关系中响应事件对应的转换的下一状态,建立各响应关系中所述当前状态对应的下一状态。 |
地址 |
350002 福建省福州市仓山区金山大道618号桔园州工业园19#楼 |