本技术涉及大数据处理,特别是涉及一种批量消息处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术:
1、传统技术中,在需要推送批量消息的场景下,通常由消息源以文件的形式,向消息推送节点传输待推送的批量消息,再由消息推送节点读取并解析文件,以从文件中解析出批量消息后,进行消息的推送。
2、然而,在需要推送批量消息的场景下,消息源传输给消息推送节点的文件往往数据量比较大,需要消息推送节点耗费较多时间从文件中解析出批量消息,导致从文件中解析出消息的效率不高,还会影响后续推送消息的效率。
技术实现思路
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、从文件服务节点中获取携带有批量消息的文件,并对文件进行拆分,生成多个子文件;
40、基于拆分过程中多个子文件的生成顺序,确定每一子文件的文件序号;
41、确定用于对多个子文件进行消息解析处理的消息处理节点的总数;每一消息处理节点均有各自的节点序号;
42、针对每一子文件,基于子文件的文件序号和总数,确定用于对所针对的子文件进行消息解析处理的目标消息处理节点的目标节点序号;
43、将子文件分配至目标节点序号所属的目标消息处理节点进行消息解析处理。
44、第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
45、从文件服务节点中获取携带有批量消息的文件,并对文件进行拆分,生成多个子文件;
46、基于拆分过程中多个子文件的生成顺序,确定每一子文件的文件序号;
47、确定用于对多个子文件进行消息解析处理的消息处理节点的总数;每一消息处理节点均有各自的节点序号;
48、针对每一子文件,基于子文件的文件序号和总数,确定用于对所针对的子文件进行消息解析处理的目标消息处理节点的目标节点序号;
49、将子文件分配至目标节点序号所属的目标消息处理节点进行消息解析处理。
50、第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
51、从文件服务节点中获取携带有批量消息的文件,并对文件进行拆分,生成多个子文件;
52、基于拆分过程中多个子文件的生成顺序,确定每一子文件的文件序号;
53、确定用于对多个子文件进行消息解析处理的消息处理节点的总数;每一消息处理节点均有各自的节点序号;
54、针对每一子文件,基于子文件的文件序号和总数,确定用于对所针对的子文件进行消息解析处理的目标消息处理节点的目标节点序号;
55、将子文件分配至目标节点序号所属的目标消息处理节点进行消息解析处理。
56、上述批量消息处理方法、装置、计算机设备、存储介质和计算机程序产品,先从文件服务节点中获取携带有批量消息的文件,并对文件进行拆分,生成多个子文件,并基于拆分过程中多个子文件的生成顺序,确定每一子文件的文件序号,然后,确定用于对多个子文件进行消息解析处理的消息处理节点的总数,其中,每一消息处理节点均有各自的节点序号,进一步的,针对每一子文件,基于子文件的文件序号和总数,确定用于对所针对的子文件进行消息解析处理的目标消息处理节点的目标节点序号,将子文件分配至目标节点序号所属的目标消息处理节点进行消息解析处理。整个过程中,可以将数据量较大的、携带有批量消息的文件拆分为数据量较小的多个子文件,并将各个子文件分配到不同的消息处理节点进行消息解析处理,即通过多个消息处理节点以分布式的方式处理各子文件,可以提高从文件中解析出消息的效率,从而提高消息推送效率。