[发明专利]一种异步化事件驱动的MessageEngine框架在审
申请号: | 202211267751.0 | 申请日: | 2022-10-17 |
公开(公告)号: | CN115686780A | 公开(公告)日: | 2023-02-03 |
发明(设计)人: | 陈增楷;李述昊 | 申请(专利权)人: | 广州钛动科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F9/54 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 郑华丽 |
地址: | 510000 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 异步 事件 驱动 messageengine 框架 | ||
1.一种异步化事件驱动的MessageEngine框架,其特征在于,包括消息循环组件MessageLoop、消息循环进程管理组件MessageLoopRunner和消息泵组件MessagePump;
消息循环进程管理组件MessageLoopRunner,用于在接收到到外部消息时,根据消息属性将消息发布给事件处理组件EventRunner或任务处理组件TaskRunner,其中,消息属性为事件或任务;
任务处理组件TaskRunner,用于判断消息的执行时机,若立即执行则将消息放入即时执行任务池,否则,将消息放入暂存执行任务池中等待调度;
事件处理组件EventRunner,用于对消息进行数据处理,将数据处理后的消息传输至MessageLoopDefault组件;
MessageLoopDefault组件,用于在接收到消息后,判断当前消息时间点是否处于可运行状态,若是,则将消息推送至即时队列,唤醒消息泵组件MessagePump执行消息内容,否则,将消息推送至延时队列或闲时队列;
消息泵组件MessagePump,用于调用MessagePump.Delegate接口的doWork、doDelayedWork和doIdleWork方法分别处理即时消息、延时消息和闲时消息;
消息循环组件MessageLoop内部包含事件回调处理器MessageCallback和监控处理器MetricHandler;
MessageCallback用于定义事件触发回调时的执行逻辑,MetricHandler用于定义事件执行异常时对应的异常处理逻辑。
2.根据权利要求1所述的异步化事件驱动的MessageEngine框架,其特征在于,每组消息循环组件MessageLoop、消息循环进程管理组件MessageLoopRunner和消息泵组件MessagePump为MessageEngine框架的一个子模块,每个子模块通过内部的子总线与MessageEngine框架的父总线进行子模块之间的消息传递。
3.根据权利要求2所述的异步化事件驱动的MessageEngine框架,其特征在于,MessageCallback定义的事件触发回调时的执行逻辑为:
在事件触发回调时,调用处理器链工厂FlowProcessFactory,FlowProcessFactory调用根据预先植入的PreAwareProcess进行前置处理,校验MessageCallback物料的来源是否合规,若物料不合规则打回,若物料合规,则调用树形批次处理器TreeBatchProcess;
树形批次处理器TreeBatchProcess内部提供SingleSplitProcess处理器、BatchSaveProcess处理器和BatchExcelProcess处理器,其中,SingleSplitProcess处理器用于将聚合数据拆分为单条分别进行业务处理,当完成所有业务逻辑处理后,树形批次处理器TreeBatchProcess调用BatchSaveProcess处理器批量保存,若在业务处理过程中有不合规的数据,则树形批次处理器TreeBatchProcess将不合规的数据推送到BatchExcelProcess处理器,由BatchExcelProcess处理器批量将业务数据导出到Excel中,当所有业务都执行完之后,处理器链工厂FlowProcessFactory调用后置行为处理器AfterAwareProcess根据执行结果进行数据处理。
4.根据权利要求2所述的异步化事件驱动的MessageEngine框架,其特征在于,MetricHandler包括三个核心应用程序接口,分别为:notify接口、consumer接口和error接口。
5.根据权利要求2所述的异步化事件驱动的MessageEngine框架,其特征在于,MessageEngine框架通过parent函数建立子总线和父总线的关联关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州钛动科技有限公司,未经广州钛动科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211267751.0/1.html,转载请声明来源钻瓜专利网。