本公开涉及数据处理领域,具体地,涉及一种消息数据的处理方法、装置、存储介质及电子设备。
背景技术:
1、消息队列(message queue,简称mq,也叫消息中间件)是构建分布式互联网应用的基础设施,通过mq实现的松耦合架构设计可以提高系统可用性以及可扩展性,是适用于现代应用的最佳设计方案。消息系统负责将数据从一个应用程序传输到另一个应用程序,因此应用程序可以专注于数据,而不必过多操心如何传送。消息系统提供了数据传输与应用系统的解耦合手段,并能提供高实时性保证,使得应用系统易于扩展,且运行更加稳定,故在大型系统中应用广泛。但应用程序在进行数据处理的过程中,都无法控制每个处理过程结束的先后顺序,也就是无法保证先开起的线程一定能比后开启的线程先处理完成,其计算过程和结束时间存在不确定性。而对于某些业务流程,其对消息的时间顺序是敏感的,也就是先到的消息要求先处理完成,此时常规高并发处理与消息的时序性要求存在冲突。
技术实现思路
1、本公开的目的是提供一种消息数据的处理方法、装置、存储介质及电子设备,以解决消息处理过程中无法保证处理的顺序性导致处理结果时序紊乱的技术问题。
2、为了实现上述目的,本公开的第一方面提供一种消息数据的处理方法,包括:
3、响应于接收到消息队列发送的消息数据,确定所述消息数据的数据源标识;
4、根据所述数据源标识和所述消息数据的预设流转顺序,从初级预设服务的第一预设线程池中确定第一消费线程,所述第一预设线程池中包括多个消费线程;
5、通过所述第一消费线程对所述消息数据进行处理,以生成第一服务处理结果;
6、根据所述预设流转顺序和所述数据源标识,从次级预设服务的第二预设线程池中确定第二消费线程,所述第二预设线程池中包括多个消费线程;
7、通过所述第二消费线程对所述第一服务处理结果进行处理,以生成第二服务处理结果。
8、可选地,所述从初级预设服务的第一预设线程池中确定第一消费线程,包括:
9、获取所述初级预设服务的第一预设数据源标识表,所述第一预设数据源标识表中包括多个消费线程与多个数据源标识之间的一一对应关系;
10、根据所述第一预设数据源标识表,确定所述数据源标识对应的所述第一消费线程。
11、可选地,所述从次级预设服务的第二预设线程池中确定第二消费线程,包括:
12、获取所述次级预设服务的第二预设数据源标识表,所述第二预设数据源标识表中包括多个消费线程与多个数据源标识之间的一一对应关系;
13、根据所述第二预设数据源标识表,确定所述数据源标识对应的所述第二消费线程。
14、可选地,所述根据所述数据源标识和所述消息数据的预设流转顺序,从初级预设服务的第一预设线程池中确定第一消费线程,包括:
15、获取所述消息数据在所述消息队列中的分区标识;
16、根据所述预设流转顺序,确定对所述消息数据进行初始消费处理的所述初级预设服务;
17、根据所述分区标识,从所述初级预设服务的多个消费组员中确定所述分区标识对应的第一消费组员;
18、根据所述数据源标识,从所述第一消费组员的所述第一预设线程池中确定所述第一消费线程。
19、可选地,所述方法还包括:
20、根据终端的数据计算能力,对所述初级预设服务进行消费组员划分,以生成所述多个消费组员;
21、根据预设划分规则对所述多个消费组员进行线程划分,以生成多个预设线程池。
22、可选地,所述方法还包括:
23、根据所述预设流转顺序和所述第二服务处理结果,生成目标服务处理结果;
24、将所述目标服务处理结果发送至客户端。
25、根据本公开实施例的第二方面,提供一种消息数据的处理装置,该装置包括:
26、第一确定模块,用于响应于接收到消息队列发送的消息数据,确定所述消息数据的数据源标识;
27、第二确定模块,用于根据所述数据源标识和所述消息数据的预设流转顺序,从初级预设服务的第一预设线程池中确定第一消费线程,所述第一预设线程池中包括多个消费线程;
28、第一生成模块,用于通过所述第一消费线程对所述消息数据进行处理,以生成第一服务处理结果;
29、第三确定模块,用于根据所述预设流转顺序和所述数据源标识,从次级预设服务的第二预设线程池中确定第二消费线程,所述第二预设线程池中包括多个消费线程;
30、第二生成模块,用于通过所述第二消费线程对所述第一服务处理结果进行处理,以生成第二服务处理结果。
31、可选地,所述第二确定模块,用于:
32、获取所述初级预设服务的第一预设数据源标识表,所述第一预设数据源标识表中包括多个消费线程与多个数据源标识之间的一一对应关系;
33、根据所述第一预设数据源标识表,确定所述数据源标识对应的所述第一消费线程。
34、根据本公开实施例的第三方面,提供一种非临时性计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开第一方面中任一项所述方法的步骤。
35、根据本公开实施例的第四方面,提供一种电子设备,包括:
36、存储器,其上存储有计算机程序;
37、处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面中任一项所述方法的步骤。
38、通过上述技术方案,响应于接收到消息队列发送的消息数据,确定消息数据的数据源标识,根据数据源标识和消息数据的预设流转顺序,从初级预设服务的第一预设线程池中确定第一消费线程,第一预设线程池中包括多个消费线程,通过第一消费线程对消息数据进行处理,以生成第一服务处理结果,根据预设流转顺序和数据源标识,从次级预设服务的第二预设线程池中确定第二消费线程,第二预设线程池中包括多个消费线程,通过第二消费线程对第一服务处理结果进行处理,以生成第二服务处理结果。从而通过建立消费线程和数据源标识之间的映射关系,使同一数据源的消息进入同一线程中进行处理,利用线程消息处理的时序性,来保证消息处理结果的顺序,避免处理结果的时序紊乱。
39、本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
1.一种消息数据的处理方法,其特征在于,包括:
2.根据权利要求1所述的处理方法,其特征在于,所述从初级预设服务的第一预设线程池中确定第一消费线程,包括:
3.根据权利要求2所述的处理方法,其特征在于,所述从次级预设服务的第二预设线程池中确定第二消费线程,包括:
4.根据权利要求1所述的处理方法,其特征在于,所述根据所述数据源标识和所述消息数据的预设流转顺序,从初级预设服务的第一预设线程池中确定第一消费线程,包括:
5.根据权利要求4所述的处理方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的处理方法,其特征在于,所述方法还包括:
7.一种消息数据的处理装置,其特征在于,包括:
8.根据权利要求7所述的装置,其特征在于,所述第二确定模块,用于:
9.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1-6中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括: