[发明专利]高并发状态机的实现方法、实现装置及系统在审
申请号: | 201510765562.X | 申请日: | 2015-11-11 |
公开(公告)号: | CN105426236A | 公开(公告)日: | 2016-03-23 |
发明(设计)人: | 江液 | 申请(专利权)人: | 上海斐讯数据通信技术有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/48 |
代理公司: | 上海光华专利事务所 31219 | 代理人: | 王再朝 |
地址: | 201616 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并发 状态机 实现 方法 装置 系统 | ||
技术领域
本发明涉及计算机领域,特别是涉及一种高并发状态机的实现方法、实现装置及系统。
背景技术
计算机应用系统已涉及当今很多业务领域,系统也日趋复杂,对性能、扩展性的要求越来越高。状态机及其理论被提出并得到了广泛的接受,并被引入到很多信息系统中。从状态的角度,信息系统在不同阶段会呈现出不同的运行状态,在某一时刻一定会处于其所有状态中的一个状态,此时它接收一部分允许的输入,产生一部分可能的响应,并且迁移到一部分可能的状态。
目前,很多软件系统都呈现日益多样、复杂的趋势,特别是多任务、高并发的环境下,多数情况下使用状态机框架是首选。在这些框架内为状态机执行定义了事件队列、事件订阅、事件分发等机制,使用的时候可以让用户更关注具体的逻辑,这也是状态机框架日益被关注、且不断进行优化、发展的原因所在。
状态机目前大致有两种类型:异步类状态机、同步类状态机。然而,面对现实情况是大量用户可能同时涌入一个应用系统时,带来的高并发只有采用异步处理方可应对,所以,异步状态机是绝大多数应用系统的首选。异步状态机是一种基于任务运行逻辑的状态机,任务在等待某个条件达到,也就是任务处于“等待状态”。任务状态的变迁由某个条件的达成触发。同步状态机则基于算法逻辑,通常嵌入在算法函数内部,一次事件就是一次入口函数调用过程。入口函数调用返回时,状态机必须处于一个明确定义的状态,不能是不确定的中间状态,而且存在阻塞的必然性。
但上述两种类型状态机,都会存在在某个状态发生等待、阻塞的情况,从而影响了系统的响应能力,因此,如何有效的提高系统的响应能力就成为本领域技术人员亟待解决的问题之一。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种高并发状态机的实现方法、实现装置及系统,用于解决现有技术中状态机的响应能力较差的问题。
为实现上述目的及其他相关目的,本发明提供一种高并发状态机的实现方法,所述高并发状态机的实现方法包括以下步骤:将事件索引发送至事件通知队列,并将事件指针进行保存,所述事件指针对应于事件的处理状态;根据事件的优先级将事件信息保存至事件缓存中;根据事件的优先级以事件索引为提取条件提取对应的事件信息;在调用底层处理完成事件的处理后,更新事件的处理状态;根据事件指针、事件索引获取事件的处理状态以完成事件的处理。
于本发明的一实施例中,以通知的形式将事件索引发送至事件通知队列。
于本发明的一实施例中,所述事件信息包括:事件索引、任务优先级和事件参数。
于本发明的一实施例中,底层处理以异步的任务处理方式对事件进行处理。
本发明提供一种高并发状态机的实现装置,所述高并发状态机的实现装置包括:事件发送单元,用于将事件索引发送至事件通知队列,并将事件指针进行保存,所述事件指引对应于事件的处理状态;事件信息保存单元,用于根据事件的优先级将事件信息保存至事件缓存中;事件信息提取单元,用于根据事件的优先级以事件索引为提取条件提取对应的事件信息;更新单元,用于在调用底层处理完成事件的处理后,更新事件的处理状态;状态获取单元,用于根据事件指针、事件索引获取事件的处理状态以完成事件的处理。
于本发明的一实施例中,所述事件发送单元以通知的形式将事件索引发送至事件通知队列。
于本发明的一实施例中,所述事件信息包括:事件索引、任务优先级和事件参数。
于本发明的一实施例中,底层处理以异步的任务处理方式对事件进行处理。
本发明提供一种高并发状态机的实现系统,包括前述任一项所述的高并发状态机的实现装置。
如上所述,本发明的高并发状态机的实现方法、实现装置及系统,具有以下有益效果:
本发明的高并发状态机的实现方法中,将事件信息按照优先级保存至事件缓存中,在对事件处理时,以事件索引为提取条件直接提取缓存中的事件信息,从而简化了事件信息在处理过程中的流转,即通过减少内存数据多次存取、存储、再分配实现了高命中率的内存释放,从而提高了系统资源的利用率。
附图说明
图1显示为现有技术中状态机的实现流程示意图。
图2显示为本发明的高并发状态机的实现方法于一实施例中的流程示意图。
图3和图4显示为本发明的高并发状态机的实现方法的数据流转的示意图。
图5显示为本发明的高并发状态机的实现装置于一实施例中的结构示意图。
元件标号说明
2高并发状态机的实现装置
21事件发送单元
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海斐讯数据通信技术有限公司,未经上海斐讯数据通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510765562.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:在客户端与服务器之间通信的机制和方法
- 下一篇:向云迁移私有构架服务