事件处理方法、装置、设备和介质制造方法及图纸

技术编号:38917120 阅读:13 留言:0更新日期:2023-09-25 09:30
本发明专利技术的实施例提供了一种事件处理方法、装置、设备和介质,涉及互联网技术领域,方法包括:接收事件实例,并确定事件实例的事件类型,事件类型包括域内事件和跨域事件中的至少一种,在事件实例属于域内事件的情况下,按照第一处理策略进行处理,第一处理策略包括基于事件总线装置对事件实例进行域内处理,在事件实例属于跨域事件的情况下,按照第二处理策略进行处理,第二处理策略包括将事件实例进行广播,以使对应的目标事件总线装置对事件实例进行跨域处理,从而提升事件处理的合理性。从而提升事件处理的合理性。从而提升事件处理的合理性。

【技术实现步骤摘要】
事件处理方法、装置、设备和介质


[0001]本专利技术涉及互联网
,具体而言,涉及一种事件处理方法、装置、设备和介质。

技术介绍

[0002]当前,软件系统具有越来越复杂的领域知识,为了方便开发人员理解业务、提升开发效率,领域建模设计方法已经在软件系统设计中被逐渐推广。在领域建模设计中,为了提高应用程序的松耦合、高扩展特性,事件处理框架也随之成为构建复杂应用的架构选择。事件处理框架通常包括事件处理器、事件总线、事件存储等组件,可以实现事件的发布、订阅、处理和持久化。其中,事件总线是该框架的重要组件,它允许应用程序中的事件发布者与事件订阅者通过事件的方式进行松散耦合,完成针对事件的过滤与分发,实现整个系统各部分基于事件的异步协作。然而,现有的事件总线的事件处理合理性有待提升。

技术实现思路

[0003]本专利技术的目的之一包括,例如,提供了一种事件处理方法、装置、设备和介质,以至少部分地提高事件处理的合理性。
[0004]本专利技术的实施例可以这样实现:
[0005]第一方面,本专利技术提供一种事件处理方法,应用于事件总线装置,所述方法包括:
[0006]接收事件实例;
[0007]确定所述事件实例的事件类型,所述事件类型包括域内事件和跨域事件中的至少一种;
[0008]在所述事件实例属于域内事件的情况下,按照第一处理策略进行处理,所述第一处理策略包括基于所述事件总线装置对所述事件实例进行域内处理;
[0009]在所述事件实例属于跨域事件的情况下,按照第二处理策略进行处理,所述第二处理策略包括将所述事件实例进行广播,以使对应的目标事件总线装置对所述事件实例进行跨域处理。
[0010]在可选的实施方式中,所述事件总线装置包括事件监听器、路由管理器、域内处理器和跨域处理器;
[0011]所述接收事件实例,包括:基于所述事件监听器接收事件实例,并将所述事件实例发送至所述路由管理器;
[0012]所述确定所述事件实例的事件类型,包括:基于所述路由管理器接收事件实例,确定所述事件实例的事件类型;
[0013]所述在所述事件实例属于域内事件的情况下,按照第一处理策略进行处理,包括:基于所述路由管理器,在所述事件实例属于域内事件的情况下,生成事件实例处理指令并发送至所述域内处理器,基于所述域内处理器,将所述事件实例路由至对应的域内事件处理器进行处理;
[0014]所述在所述事件实例属于跨域事件的情况下,按照第二处理策略进行处理,包括:基于所述路由管理器,在所述事件实例属于跨域事件的情况下,生成事件实例处理指令并发送至所述跨域处理器,基于所述跨域处理器,根据所述事件实例处理指令生成事件实例传输指令,并将所述事件实例传输指令广播至组播网络中,以使与所述事件实例传输指令对应的目标跨域处理器对所述事件实例进行处理。
[0015]在可选的实施方式中,所述方法还包括:
[0016]所述跨域处理器在接收到组播网络中其他跨域处理器广播的事件实例传输指令的情况下,确定自身是否为所述事件实例传输指令所对应的目标跨域处理器;
[0017]若是,对所述事件实例传输指令进行处理;
[0018]若否,丢弃所述事件实例传输指令。
[0019]在可选的实施方式中,所述事件实例包括事件类型标识,所述路由管理器中预存有域内路由映射表和跨域路由映射表,所述基于所述路由管理器接收事件实例,确定所述事件实例的事件类型,包括:
[0020]根据所述事件实例的事件类型标识,检索所述域内路由映射表,确定是否存在本地可用的事件处理器,若是,确定所述事件实例属于域内事件;
[0021]根据所述事件实例的事件类型标识,检索所述跨域路由映射表,确定是否存在跨域可用的事件处理器,若存在跨域可用的事件处理器,确定所述事件实例属于跨域事件。
[0022]在可选的实施方式中,所述事件实例还包括事件实例标识和事件实例参数;所述事件实例处理指令包括事件实例标识、事件类型标识、事件实例参数和事件处理目标标识;
[0023]所述根据所述事件实例处理指令生成事件实例传输指令,包括:
[0024]根据所述事件实例处理指令中的事件类型标识获取具体事件类型;
[0025]将所述事件实例处理指令中的事件实例参数序列化;
[0026]基于所述事件实例、具体事件类型、序列化后的事件实例参数生成事件实例传输指令,所述事件实例传输指令包括事件实例标识、事件类型标识、事件实例参数内容和第一事件处理目标标识;
[0027]其中,所述事件实例标识用于唯一指定一个事件实例的标识;所述事件类型标识用于描述事件处理器所处理的事件类型;所述事件实例参数用于存放事件实例的具体参数信息;所述事件处理目标标识用于描述事件的具体处理目标,该事件处理目标标识使用事件处理器标识填充;所述事件实例参数内容用于存放事件实例的具体参数的序列化结果;所述第一事件处理目标标识用于指定处理该事件的应用实例标识。
[0028]在可选的实施方式中,所述将所述事件实例传输指令广播至组播网络中,以使与所述事件实例传输指令对应的目标跨域处理器对所述事件实例进行处理,包括:
[0029]将所述事件实例传输指令广播至组播网络中;
[0030]基于接收到所述事件实例传输指令的跨域处理器,确定所述事件实例传输指令中的第一事件处理目标标识是否与本地的应用实例标识匹配;
[0031]若是,确定自身为所述事件实例传输指令所对应的目标跨域处理器,根据所述事件实例传输指令中的事件类型标识获取具体事件类型,将所述事件实例传输指令中的事件实例参数内容反序列化为事件实例参数,通过所述事件实例传输指令中的事件类型标识,检索所述路由管理器的域内路由映射表,获取本地可用于进行处理的事件处理器,生成事
件实例处理指令发送至其进行处理。
[0032]在可选的实施方式中,所述事件总线装置还包括注册器和跨域协调器,所述方法还包括基于所述注册器对所述组播网络中的信息进行注册的步骤,该步骤包括:
[0033]在所述事件总线装置所属的领域服务应用启动时,扫描所述领域服务应用内所有已声明的事件元信息和事件处理器元信息,并基于所述注册器完成事件类型和事件处理器注册,扫描所述领域服务应用配置,检索应用本地实例标识,生成事件处理器注册指令;其中,所述事件元信息包括事件类型标识和事件类型,所述事件处理器元信息包括事件处理器类型标识、事件类型标识和事件处理器本地入口信息;
[0034]基于所述注册器,将所述事件元信息和事件处理器元信息发送至所述路由管理器,并将所述事件处理器注册指令发送至所述跨域协调器,基于所述跨域协调器将所述事件处理器注册指令广播至组播网络;
[0035]基于所述路由管理器接收所述事件元信息和事件处理器元信息,创建事件类型标识对应事件处理器标识集合的域内路由映射表;
[0036]基于所述路由管理器接收所述跨域协调器发送的事件处理器注册指令,创建事件类型标识对应应用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种事件处理方法,其特征在于,应用于事件总线装置,所述方法包括:接收事件实例;确定所述事件实例的事件类型,所述事件类型包括域内事件和跨域事件中的至少一种;在所述事件实例属于域内事件的情况下,按照第一处理策略进行处理,所述第一处理策略包括基于所述事件总线装置对所述事件实例进行域内处理;在所述事件实例属于跨域事件的情况下,按照第二处理策略进行处理,所述第二处理策略包括将所述事件实例进行广播,以使对应的目标事件总线装置对所述事件实例进行跨域处理。2.根据权利要求1所述的事件处理方法,其特征在于,所述事件总线装置包括事件监听器、路由管理器、域内处理器和跨域处理器;所述接收事件实例,包括:基于所述事件监听器接收事件实例,并将所述事件实例发送至所述路由管理器;所述确定所述事件实例的事件类型,包括:基于所述路由管理器接收事件实例,确定所述事件实例的事件类型;所述在所述事件实例属于域内事件的情况下,按照第一处理策略进行处理,包括:基于所述路由管理器,在所述事件实例属于域内事件的情况下,生成事件实例处理指令并发送至所述域内处理器,基于所述域内处理器,将所述事件实例路由至对应的域内事件处理器进行处理;所述在所述事件实例属于跨域事件的情况下,按照第二处理策略进行处理,包括:基于所述路由管理器,在所述事件实例属于跨域事件的情况下,生成事件实例处理指令并发送至所述跨域处理器,基于所述跨域处理器,根据所述事件实例处理指令生成事件实例传输指令,并将所述事件实例传输指令广播至组播网络中,以使与所述事件实例传输指令对应的目标跨域处理器对所述事件实例进行处理。3.根据权利要求2所述的事件处理方法,其特征在于,所述方法还包括:所述跨域处理器在接收到组播网络中其他跨域处理器广播的事件实例传输指令的情况下,确定自身是否为所述事件实例传输指令所对应的目标跨域处理器;若是,对所述事件实例传输指令进行处理;若否,丢弃所述事件实例传输指令。4.根据权利要求2所述的事件处理方法,其特征在于,所述事件实例包括事件类型标识,所述路由管理器中预存有域内路由映射表和跨域路由映射表,所述基于所述路由管理器接收事件实例,确定所述事件实例的事件类型,包括:根据所述事件实例的事件类型标识,检索所述域内路由映射表,确定是否存在本地可用的事件处理器,若是,确定所述事件实例属于域内事件;根据所述事件实例的事件类型标识,检索所述跨域路由映射表,确定是否存在跨域可用的事件处理器,若存在跨域可用的事件处理器,确定所述事件实例属于跨域事件。5.根据权利要求4所述的事件处理方法,其特征在于,所述事件实例还包括事件实例标识和事件实例参数;所述事件实例处理指令包括事件实例标识、事件类型标识、事件实例参数和事件处理目标标识;
所述根据所述事件实例处理指令生成事件实例传输指令,包括:根据所述事件实例处理指令中的事件类型标识获取具体事件类型;将所述事件实例处理指令中的事件实例参数序列化;基于所述事件实例、具体事件类型、序列化后的事件实例参数生成事件实例传输指令,所述事件实例传输指令包括事件实例标识、事件类型标识、事件实例参数内容和第一事件处理目标标识;其中,所述事件实例标识用于唯一指定一个事件实例的标识;所述事件类型标识用于描述事件处理器所处理的事件类型;所述事件实例参数用于存放事件实例的具体参数信息;所述事件处理目标标识用于描述事件的具体处理目标,该事件处理目标标识使用事件处理器标识填充;所述事件实例参数内容用于存放事件实例的具体参数的序列化结果;所述第一事件处理目标标识用于指定处理该事件的应用实例标识。6.根据权利要求5所述的事件处理方法,其特征在于,所述将所述事件实例传输指令广播至组播网络中,以使与所述事件实例...

【专利技术属性】
技术研发人员:许欣芃徐进童世红周翔周淼
申请(专利权)人:恒生电子股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1