[发明专利]一种基于领域驱动的事件处理方法及设备有效
申请号: | 202011353778.2 | 申请日: | 2020-11-26 |
公开(公告)号: | CN112486478B | 公开(公告)日: | 2023-08-11 |
发明(设计)人: | 程伟 | 申请(专利权)人: | 上海万物新生环保科技集团有限公司 |
主分类号: | G06F8/35 | 分类号: | G06F8/35;G06F9/54 |
代理公司: | 上海百一领御专利代理事务所(普通合伙) 31243 | 代理人: | 汪祖乐 |
地址: | 200433 上海市杨浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 领域 驱动 事件 处理 方法 设备 | ||
本申请的目的是提供一种基于领域驱动的事件处理方法及设备,本申请通过在业务系统中引入事件处理器组件,事件处理器组件为不同的领域模型注册对应的事件处理中心及事件处理中心的事件处理基本信息;业务系统启动时,事件处理器组件为事件处理中心关联不同事件类型的消费者,并分配线程池及消息队列MQ处理资源;发布方的领域模型发布目标事件类型的发布事件及其事件消息至与对应的目标事件处理中心;目标事件处理中心根据目标事件类型和事件处理基本信息将事件消息发送至对应的目标消费者处进行处理,使得通过事件处理器组件以向业务系统提供多种事件处理方式,降低不同事件处理模式的使用超成本,提高代码的复用性。
技术领域
本申请涉及计算机领域,尤其涉及一种基于领域驱动的事件处理方法及设备。
背景技术
在领域驱动模式的代码开发过程中,搭建领域模型和划分业务边界是两个重要的步骤,其中针对清晰地划分业务边界的方案一般是通过事件模式对多个领域之间存在依赖关系的模型进行隔离、解耦。目前事件模式的实践方案主要有以下三种,一、基于订阅发布模式的本地事件同步处理;二、基于队列线程池的本地事件异步处理;三、基于MQ中间件的远程事件异步处理,但由于现有的实践方案中的每种技术方案都需要额外的开发成本,复用成本较高,且针对事件的处理没有统一的接口,不同事件处理模式的接入、切换成本高。
发明内容
本申请的一个目的是提供一种基于领域驱动的事件处理方法及设备,实现对现有的事件处理模式的整合,降低不同事件处理模式的使用超成本,提高代码的复用性。
根据本申请的一个方面,提供了一种基于领域驱动的事件处理方法,其中,所述方法包括:
在业务系统中引入事件处理器组件,所述事件处理器组件为不同的领域模型注册对应的事件处理中心及所述事件处理中心的事件处理基本信息;
所述业务系统启动时,所述事件处理器组件为所述事件处理中心关联不同事件类型的消费者,并分配线程池及消息队列MQ处理资源;
发布方的领域模型发布目标事件类型的发布事件及其事件消息至与所述发布方的领域模型对应的目标事件处理中心;
所述目标事件处理中心根据所述目标事件类型和所述事件处理基本信息,将所述事件消息发送至对应的目标消费者,以使所述目标消费者基于所述事件消息处理所述发布事件。
进一步地,上述方法中,所述事件处理中心的事件处理基本信息包括:事件处理中心的名称、事件类型及与所述事件类型对应的事件处理方式。
进一步地,上述方法中,当所述业务系统涉及订阅方的领域模型的事件时,在所述发布方的领域模型对应的事件处理中心注册对应的消费者,并预置所述消费者接收事件的处理方式和消费的事件类型。
进一步地,上述方法中,所述发布方的领域模型发布目标事件类型的发布事件及其事件消息至与所述发布方的领域模型对应的目标事件处理中心,包括:
发布方的领域模型获取发布的目标事件类型的发布事件的上下文相关信息;
将所述发布事件的上下文相关信息封装到事件消息对象中,得到所述发布事件的事件消息;
将所述发布事件的事件消息发送至与所述发布方的领域模型对应的目标事件处理中心。
进一步地,上述方法中,所述目标事件处理中心根据所述目标事件类型和所述事件处理基本信息,将所述事件消息发送至对应的目标消费者,以使所述目标消费者基于所述事件消息处理所述发布事件,包括:
所述目标事件处理中心根据所述目标事件处理中心的事件处理基本信息,确定与所述目标事件类型对应的事件处理方式;
所述目标事件处理中心通过与所述目标事件类型对应的事件处理方式,将所述事件消息发送至对应的目标消费者,以使所述目标消费者基于所述事件消息处理所述发布事件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海万物新生环保科技集团有限公司,未经上海万物新生环保科技集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011353778.2/2.html,转载请声明来源钻瓜专利网。