【技术实现步骤摘要】
一种状态机运转方法、装置、计算机设备及存储介质
[0001]本申请涉及计算机
,尤其涉及一种状态机运转方法、装置、计算机设备和存储介质。
技术介绍
[0002]在软件系统中,状态机是一种常用的编程模式。在常规的状态机编程模式中,事件的发生,或者输入状态的变更,会引起状态机的运转,执行一定的计算逻辑,得到一定的输出状态,而关心输出状态的其他模块通常会订阅该状态,以便在发生变更时及时得到通知,从而采取下一步的动作。
[0003]目前,传统的状态机运转的模式是当输入状态发生变化时就运行状态机,并生成相应的输出状态。然而在某些场景下,输入状态可能会在短时间内发生多次变化,而关心输出状态的模块只希望在特定时机下主动获取最新的状态值。这种场景下,再使用常规的订阅方式就会引起不必要的计算逻辑和通知回调,对软件系统的运行效率带来严重影响,特别是输入状态较多,而输出状态较少的情况,这种影响被成倍放大。
技术实现思路
[0004]基于此,有必要针对上述技术问题提供一种状态机运转方法、装置、计算机设备和存储介质。r/>[0005]根本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种状态机运转方法,其特征在于,所述方法包括:响应于检测到状态机的输入状态发生变更,则取消状态机执行逻辑运算,并将变更后的输入状态存储至预设位置;响应于检测到外部模块对状态机的读取操作,则利用所述状态机基于当前预设位置内的数据执行逻辑运算以生成输出状态;将所述输出状态返回至所述外部模块。2.根据权利要求1所述的状态机运转方法,其特征在于,所述预设位置用于存储多个输入状态。3.根据权利要求2所述的状态机运转方法,其特征在于,所述响应于检测到状态机的输入状态发生变更,则取消状态机执行逻辑运算,并将变更后的输入状态存储至预设位置的步骤包括:响应于检测到输入状态发生变更,则获取当前输入状态;判断所述预设位置内是否存在未使用存储空间;响应于所述预设位置内存在未使用存储空间,则将所述当前输入状态写入预设位置内的未使用存储空间;响应于所述预设位置内不存在未使用存储空间,则将变更后的输入状态以覆盖的方式写入预设位置内已使用存储空间。4.根据权利要求1所述的状态机运转方法,其特征在于,所述响应于检测到外部模块对状态机的读取操作,则利用所述状态机基于当前预设位置内的数据执行逻辑运算以生成输出状态的步骤包括:响应于检测到外部输入模块对状态机的读取操作,则从所述预设位置读取最后一次写入的输入状态;创建临时上下文,并将最后一次写入的输入状态复制到所述临时上下文中;由所述状态机以最后一次写入的输入状态作为输入执行逻辑运算以生成与最后一次写入的输入状态对应的输出状...
【专利技术属性】
技术研发人员:郭强,张璐,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。