技术新讯 > 计算推算,计数设备的制造及其应用技术 > 消息处理方法、装置、电子设备及存储介质与流程  >  正文

消息处理方法、装置、电子设备及存储介质与流程

  • 国知局
  • 2024-09-11 14:24:47

本发明涉及计算机,具体而言,涉及一种消息处理方法、装置、电子设备及存储介质。

背景技术:

1、在顺序消费场景中,消费者在消费消息时可能有很多个独立处理方法,如a、b、c,其中a和b是需要保证顺序的,而c是不需要保证顺序的,而因为要保证a、b的顺序性,该消费者只能启动一个线程来处理消息,单线程下,同步方法和并发方法同时存在时,同步方法会阻塞原本可以并发的方法,极大地减慢了消息消费的速率,如果a、b消耗时间比较长的话,是很容易造成消息堆积的,且不能通过横向扩展的方式解决消息堆积问题。

2、在现有方案中,是将消息分别发送到两个消息队列中,其中,消息队列1是异步消费专用队列,对应的消费者可以通过横向扩展的方式和增加消费者线程数来提高消费速率;消息队列2是同步消费专用队列,其对应的消费者依旧需要是单消费者单线程来保证消息消费的顺序性。至此,解决了顺序消费场景中同步方法阻塞原本可以并发的方法的问题。

3、但是,在同步消费队列中,依然只能使用单消费者单线程的方式来处理消息,即现有技术提供的解决方案并没有解决顺序消费的消息堆积问题。

技术实现思路

1、本发明的目的在于,针对上述现有技术中的不足,提供一种消息处理方法、装置、电子设备及存储介质,以便现有技术中存在的技术问题。

2、为实现上述目的,本申请实施例采用的技术方案如下:

3、第一方面,本申请实施例提供了一种消息处理方法,所述方法包括:

4、消息分组模块获取待消费的目标消息;

5、所述消息分组模块根据所述目标消息的属性信息,生成所述目标消息的处理标识符,其中,所述目标消息的属性信息至少包括:方法名以及方法参数,所述处理标识符用于指示所述目标消息的存储空间;

6、所述消息分组模块根据所述目标消息的处理标识符,将所述目标消息的处理标识符与所述目标消息存储至目标存储空间,其中,具有相同处理标识符的消息存储至同一存储空间;

7、所述消息分组模块向处理模块发送通知消息,所述通知消息包括:所述目标消息的处理标识符,以使得所述处理模块根据所述目标消息的处理标识符从所述目标存储空间获取包括所述目标消息的多个消息,并按照顺序消费方式对所述目标存储空间中的各消息进行顺序处理。

8、第二方面,本申请实施例还提供了一种消息处理装置,所述装置包括:

9、消息分组模块,用于获取待消费的目标消息;根据所述目标消息的属性信息,生成所述目标消息的处理标识符,其中,所述目标消息的属性信息至少包括:方法名以及方法参数,所述处理标识符用于指示所述目标消息的存储空间;根据所述目标消息的处理标识符,将所述目标消息的处理标识符与所述目标消息存储至目标存储空间,其中,具有相同处理标识符的消息存储至同一存储空间;向处理模块发送通知消息,所述通知消息包括:所述目标消息的处理标识符;

10、所述处理模块,用于根据所述目标消息的处理标识符从所述目标存储空间获取包括所述目标消息的多个消息,并按照顺序消费方式对所述目标存储空间中的各消息进行顺序处理。

11、第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行如第一方面中提供的消息处理方法。

12、第四方面,本申请实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面提供的消息处理方法。

13、本申请的有益效果是:

14、本申请实施例提供一种消息处理方法、装置、电子设备及存储介质,根据待消费的目标消息的包名、类名、方法名以及方法参数等属性信息,得到目标消息的处理标识符;根据目标消息的处理标识符,将目标消息的处理标识符与目标消息一并存储至目标存储空间,其中,具有相同处理标识符的消息存储至同一存储空间,且具有相同处理标识符的消息需要顺序消费,具有不同处理标识符的消息可以并发消费,即可以根据处理标识符来区分顺序消费和并发消费;然后,再由处理模块根据目标消息的处理标识符从目标存储空间获取包括目标消息的多个消息,并按照顺序消费方式对目标存储空间中的各消息进行顺序处理,使得原本必须顺序消费消息的方法在一定程度上可以并发执行,让消费者支持横向扩展的方式(增加消费者)以及增强单消费者性能(增加线程数)的方式加快消息消费的速率,很大程度上解决了顺序消费中的消息堆积问题。

技术特征:

1.一种消息处理方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述目标消息的属性信息,生成所述目标消息的处理标识符,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述目标消息的属性信息,确定所述处理标识符对应的多个子标识符,包括:

4.根据权利要求3所述的方法,其特征在于,所述根据所述预先定义的表达式与所述目标消息的方法参数,生成所述目标消息的后缀子标识符,包括:

5.根据权利要求1所述的方法,其特征在于,所述根据所述目标消息的属性信息,生成所述目标消息的处理标识符之前,还包括:

6.根据权利要求1所述的方法,其特征在于,所述根据所述目标消息的处理标识符,将所述目标消息的处理标识符与所述目标消息存储至目标存储空间,包括:

7.根据权利要求1所述的方法,其特征在于,所述处理模块根据所述目标消息的处理标识符从所述目标存储空间获取包括所述目标消息的多个消息,并按照顺序消费方式对所述目标存储空间中的各消息进行顺序处理的过程为:

8.根据权利要求7所述的方法,其特征在于,所述由各子线程按照顺序消费方式对所述目标存储空间中各消息的进行顺序处理,包括:

9.一种消息处理装置,其特征在于,所述装置包括:

10.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-8任一所述方法的步骤。

11.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-8任一所述方法。

技术总结本申请提供消息处理方法、装置、电子设备及存储介质,涉及计算机技术领域。该方法包括:消息分组模块获取待消费的目标消息;消息分组模块根据目标消息的属性信息,生成目标消息的处理标识符;消息分组模块根据目标消息的处理标识符,将目标消息的处理标识符与目标消息存储至目标存储空间;消息分组模块向处理模块发送通知消息,以使得处理模块根据目标消息的处理标识符从目标存储空间获取包括目标消息的多个消息,并按照顺序消费方式对目标存储空间中的各消息进行顺序处理,使得原本必须顺序消费消息的方法在一定程度上可以并发执行,很大程度上解决了顺序消费中的消息堆积问题。技术研发人员:葛明曦,孔祥瑞,张倩,陈佳锋,柴俊东受保护的技术使用者:网易(杭州)网络有限公司技术研发日:技术公布日:2024/9/9

本文地址:https://www.jishuxx.com/zhuanli/20240911/290628.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。