基于有限状态机的事件处理方法及装置与流程

文档序号:35982857发布日期:2023-11-10 02:43阅读:28来源:国知局
基于有限状态机的事件处理方法及装置与流程

本申请涉及网络技术与安全领域,具体而言,涉及一种基于有限状态机的事件处理方法及装置。


背景技术:

1、5gc(5gcore)中的网元,如用户面功能(user plane function,upf)在整个5gc架构中起到非常关键的作用,在实现服务管理、主备切换等业务开发时,常常需要根据当前网元的状态来判断如何应对各种各样的事件。单纯地使用判断语句进行实现,会导致代码的可读性、可维护性变差,产生问题的几率也随着代码量的增长而逐渐增高。传统的状态机,一般预置了固定数量的状态、事件、动作,在实际使用中,会不得不执行不必要动作,使用传统的状态机完成业务实现时,不能在运行时对动作进行变更操作,因此,传统状态机不再是最优选择。

2、针对上述的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本申请实施例提供了一种基于有限状态机的事件处理方法及装置,以至少解决使用状态机完成业务实现时,不能在运行时对动作进行变更操作的技术问题。

2、根据本申请实施例的一个方面,提供了一种基于有限状态机的事件处理方法,有限状态机包括:状态对象、事件对象、动作对象以及状态机控制实例,该方法包括:利用状态机控制实例将目标事件对应的事件对象追加到事件队列中;采用事件处理线程从事件队列中获取事件对象;确定事件对象的事件标识,并利用事件标识从状态对象存储的映射关系表中查找与事件标识对应的动作对象,其中,所示映射关系表用于存储事件标识与动作对象的映射关系;执行动作对象。

3、可选地,利用事件标识从状态对象存储的映射关系表中查找与事件标识对应的动作对象之前,上述方法还包括:建立事件标识与动作对象之间的映射关系;将映射关系注册到状态机包括的任意一个状态对象存储的哈希表中。

4、可选地,上述方法还包括:根据业务代码的需求将映射关系从状态机包括的任意一个状态对象存储的哈希表中移除。

5、可选地,执行动作对象,包括:调用执行动作对象所需的执行函数,其中,执行函数为目标事件发生时的回调函数;利用执行函数执行动作对象。

6、可选地,上述方法还包括:调用状态机控制实例的接口函数;利用接口函数将状态机的当前状态保存为上一状态,将状态机的目标状态保存为当前状态,并生成目标状态对应的转换事件;利用转换事件的事件标识查找转换事件对应动作对象;执行转换事件对应动作对象。

7、可选地,利用状态机控制实例将目标事件对应的事件对象追加到事件队列中之前,上述方法还包括:检测业务代码中是否发生目标事件;在业务代码中检测出发生目标事件的情况下,创建目标事件对应的事件对象。

8、可选地,利用状态机控制实例将目标事件对应的事件对象追加到事件队列中之后,上述方法还包括:向事件处理线程发送通知消息,以触发调用事件处理线程从事件队列中获取事件对象。

9、根据本申请实施例的另一方面,还提供了一种基于有限状态机的事件处理装置,包括:处理模块,设置为利用状态机控制实例将目标事件对应的事件对象追加到事件队列中,其中,事件对象是在业务代码中判断出目标事件发生的情况下创建的;获取模块,设置为采用事件处理线程从事件队列中获取事件对象;查找模块,设置为确定事件对象的事件标识,并利用事件标识从状态对象存储的映射关系表中查找与事件标识对应的动作对象,其中,所示映射关系表用于存储事件标识与动作对象的映射关系;执行模块,设置为执行动作对象。

10、根据本申请实施例的再一方面,还提供了一种非易失性存储介质,非易失性存储介质中存储有程序,其中,在程序运行时控制非易失性存储介质所在设备执行以上任意一个实施例中的基于有限状态机的事件处理方法。

11、根据本申请实施例的再一方面,还提供了一种电子设备,包括:存储器和处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行以上任意一个实施例中的基于有限状态机的事件处理方法。

12、在本申请实施例中,采用利用状态机控制实例将目标事件对应的事件对象追加到事件队列中;采用事件处理线程从事件队列中获取事件对象;确定事件对象的事件标识,并利用事件标识从状态对象存储的映射关系表中查找与事件标识对应的动作对象,其中,所示映射关系表用于存储事件标识与动作对象的映射关系;执行动作对象的方式,通过对传统状态机加以改进,加入了事件驱动的机制,并且支持动态地对状态机中的动作、以及动作与状态之间的绑定关系进行变更,从而实现了业务代码可以根据需要,动态地注册以及解注册动作,避免非预期的动作触发,能够更好地满足业务开发的技术效果,进而解决了使用状态机完成业务实现时,不能在运行时对动作进行变更操作技术问题。



技术特征:

1.一种基于有限状态机的事件处理方法,其特征在于,所述有限状态机包括:状态对象、事件对象、动作对象以及状态机控制实例,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,利用所述事件标识从状态对象存储的映射关系表中查找与所述事件标识对应的动作对象之前,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,执行所述动作对象,包括:

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,利用所述状态机控制实例将目标事件对应的事件对象追加到事件队列中之前,所述方法还包括:

7.根据权利要求1所述的方法,其特征在于,利用所述状态机控制实例将目标事件对应的事件对象追加到事件队列中之后,所述方法还包括:

8.一种基于有限状态机的事件处理装置,其特征在于,包括:

9.一种非易失性存储介质,其特征在于,所述非易失性存储介质中存储有程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至7中任意一项所述的基于有限状态机的事件处理方法。

10.一种电子设备,其特征在于,包括:存储器和处理器,所述处理器用于运行存储在所述存储器中的程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的基于有限状态机的事件处理方法。


技术总结
本申请公开了一种基于有限状态机的事件处理方法及装置。其中,有限状态机包括:状态对象、事件对象、动作对象以及状态机控制实例,该方法包括:利用状态机控制实例将目标事件对应的事件对象追加到事件队列中;采用事件处理线程从事件队列中获取事件对象;确定事件对象的事件标识,并利用事件标识从状态对象存储的映射关系表中查找与事件标识对应的动作对象,其中,所示映射关系表用于存储事件标识与动作对象的映射关系;执行动作对象。本申请解决了使用状态机完成业务实现时,不能在运行时对动作进行变更操作的技术问题。

技术研发人员:张庆国,欧亮,成武文,黄智威,李望发
受保护的技术使用者:中电信智能网络科技有限公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1