基于消息中间件的消息处理方法、装置及系统制造方法及图纸

技术编号:38054563 阅读:10 留言:0更新日期:2023-06-30 11:20
本申请涉及计算机技术领域,具体公开一种基于消息中间件的消息处理方法、装置及系统,该方法包括:接收业务消息并存储于第一消息中间件,以第一业务逻辑一次消费第一消息中间件中的业务消息,并记录一次消费结果,判断业务消息是否存在下游依赖,若存在,则将业务消息路由至第二消息中间件存储,以第二业务逻辑二次消费第二消息中间件中的业务消息,并记录二次消费结果。本申请提供的基于消息中间件的消息处理方法,解耦了多个消费系统间的依赖关系,降低因依赖关系造成的额外处理逻辑,加快了业务消息处理链条的消费速度。了业务消息处理链条的消费速度。了业务消息处理链条的消费速度。

【技术实现步骤摘要】
基于消息中间件的消息处理方法、装置及系统


[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]图1示出根据本申请的一个实施例的基于消息中间件的消息处理方法的流程示意图;
[0030]图2示出根据本申请的另一个实施例的基于消息中间件的消息处理方法的流程示意图;
[0031]图3示出根据本申请的一个实施例的基于消息中间件的消息处理装置的结构示意图;
[0032]图4示出根据本申请的一个实施例的基于消息中间件的消息处理系统的结构示意图;
[0033]图5示出根据本申请的另一个实施例的基于消息中间件的消息处理系统的结构示意图;
[0034]图6示出根据本申请的一个实施例的计算机设备的结构示意图。
具体实施方式
[0035]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0036]为了使本领域普通技术人员更清楚地理解本申请各实施例提供的技术方案,首先对本申请技术方案涉及的技术名词进行介绍。
[0037]业务生产者,用于指示生产并发送业务消息的一方。业务生产者负责创建业务消息,然后将其投递到消息中间件中。
[0038]消费系统,用于指示接收并消费业务消息的一方。消本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于消息中间件的消息处理方法,其特征在于,所述方法包括:接收业务消息并存储于第一消息中间件;以第一业务逻辑一次消费所述第一消息中间件中的所述业务消息,并记录一次消费结果;判断所述业务消息是否存在下游依赖;若存在,则将所述业务消息路由至第二消息中间件存储;以第二业务逻辑二次消费所述第二消息中间件中的所述业务消息,并记录二次消费结果。2.根据权利要求1所述的基于消息中间件的消息处理方法,其特征在于,所述接收业务消息并存储于第一消息中间件,包括:接收业务生产者生产的业务消息,并确定所述业务消息的功能目的;根据预设的所述业务消息的功能目的

第一主题的数据表,确定所述业务消息的第一主题;根据所述第一主题,将所述业务消息存储于第一消息中间件的相应分区中。3.根据权利要求2所述的基于消息中间件的消息处理方法,其特征在于,所述以第一业务逻辑一次消费所述第一消息中间件中的所述业务消息,并记录一次消费结果,包括:从所述第一消息中间件的相应分区中调取所述业务消息;根据所述业务消息的第一主题将所述业务消息路由至相应的被依赖消费系统,以使所述被依赖消费系统对所述业务消息进行相应的第一处理;记录所述被依赖消费系统的第一处理结果。4.根据权利要求2所述的基于消息中间件的消息处理方法,其特征在于,所述判断所述业务消息是否存在下游依赖,包括:确定所述业务消息的业务场景;将所述业务场景在预设的所述业务消息的业务场景数据表中进行匹配。5.根据权利要求4所述的基于消息中间件的消息处理方法,其特征在于,所述若存在,则将所述业务消息路由至第二消息中间件存储,包括:若所述业务场景与预设的所述业务消息的业务场景数据表中的项目匹配,则根据所述第一主题和/或所述第一消费结果确定所述业务消息的第二主题;根据所述第二主题,将所述业务消息路由至第二消息中间件的相应分区中存储。6.根据权利要求4所述的基于消息中间件的消息处理方法,其特征在于,所述以第二业...

【专利技术属性】
技术研发人员:解翔宇何新宇
申请(专利权)人:中国人民财产保险股份有限公司
类型:发明
国别省市:

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

1