[发明专利]一种异步化事件驱动的MessageEngine框架在审
申请号: | 202211267751.0 | 申请日: | 2022-10-17 |
公开(公告)号: | CN115686780A | 公开(公告)日: | 2023-02-03 |
发明(设计)人: | 陈增楷;李述昊 | 申请(专利权)人: | 广州钛动科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F9/54 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 郑华丽 |
地址: | 510000 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 异步 事件 驱动 messageengine 框架 | ||
本发明公开了一种异步化事件驱动的MessageEngine框架,由消息循环组件、消息循环进程管理组件和消息泵组件组成,当框架内部的组件初始化完成后,进入监听线程,当有消息请求进来时,框架会判断是事件还是任务,如果是任务则调用任务处理标准接口进行处理,如果是事件则走事件处理的相关逻辑,利用消息泵组件无限循环的监听线程,不停地监听处理事件和任务,直到外部控制框架停止为止,调用MessagePump.Delegate接口分别处理即时消息、延时消息和闲时消息。解决了异步化事件驱动框架采用单线程异步模型难以充分利用计算机CPU资源和缺少全面的消息通知监控和采集统计机制,难以支撑系统的平稳运行的技术问题。
技术领域
本发明涉及网络通信技术领域,尤其涉及一种异步化事件驱动的MessageEngine框架。
背景技术
事件驱动模型设计是当前解决大型系统业务逻辑交互错综复杂进而导致的系统功能业务耦合性强、扩展性差、响应速度慢的热门解决方案,对于构建高性能、高并发和高扩展的大型系统具有重要意义。
现有的基于java语言开发的异步化事件驱动框架是基于单线程异步的事件驱动模型,在使用组件的过程中,仅有一个事件监听器线程,在现代多核计算机中无法充分利用计算机核心资源,也没有提供足够全面的消息通知监控和采集统计机制,难以支撑系统的平稳运行。
发明内容
本发明提供了一种异步化事件驱动的MessageEngine框架,用于解决现有的异步化事件驱动框架采用单线程的异步模型,难以充分利用计算机CPU资源和缺少全面的消息通知监控和采集统计机制,难以支撑系统的平稳运行的技术问题。
有鉴于此,本发明中提供了一种异步化事件驱动的MessageEngine框架,包括消息循环组件MessageLoop、消息循环进程管理组件MessageLoopRunner和消息泵组件MessagePump;
消息循环进程管理组件MessageLoopRunner,用于在接收到到外部消息时,根据消息属性将消息发布给事件处理组件EventRunner或任务处理组件TaskRunner,其中,消息属性为事件或任务;
任务处理组件TaskRunner,用于判断消息的执行时机,若立即执行则将消息放入即时执行任务池,否则,将消息放入暂存执行任务池中等待调度;
事件处理组件EventRunner,用于对消息进行数据处理,将数据处理后的消息传输至MessageLoopDefault组件;
MessageLoopDefault组件,用于在接收到消息后,判断当前消息时间点是否处于可运行状态,若是,则将消息推送至即时队列,唤醒消息泵组件MessagePump执行消息内容,否则,将消息推送至延时队列或闲时队列;
消息泵组件MessagePump,用于调用MessagePump.Delegate接口的doWork、doDelayedWork和doIdleWork方法分别处理即时消息、延时消息和闲时消息;
消息循环组件MessageLoop内部包含事件回调处理器MessageCallback和监控处理器MetricHandler;
MessageCallback用于定义事件触发回调时的执行逻辑,MetricHandler用于定义事件执行异常时对应的异常处理逻辑。
可选地,每组消息循环组件MessageLoop、消息循环进程管理组件MessageLoopRunner和消息泵组件MessagePump为MessageEngine框架的一个子模块,每个子模块通过内部的子总线与MessageEngine框架的父总线进行子模块之间的消息传递。
可选地,MessageCallback定义的事件触发回调时的执行逻辑为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州钛动科技有限公司,未经广州钛动科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211267751.0/2.html,转载请声明来源钻瓜专利网。