消息中间件数据处理方法、装置及系统与流程

专利2022-05-09  58



1.本申请涉及数据处理领域,也可用于金融领域,具体涉及一种消息中间件数据处理方法、装置及系统。


背景技术:

2.现有技术中的消息中间件,例如kafka,用来中转消息,消息生产者向kafka推送消息,消息的消费者从kafka订阅数据。通过引入kafka,可以解耦it系统,通过消息的方式实现了异步作业。
3.发明人发现,kafka在实际使用中,会和每个消息生产者建立一个长连接,以快速接收消息。当生产者连接数不断增加时,对kafka的压力会不断增加,达到一定规模后会显著影响kafka的性能。


技术实现要素:

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.图1为本申请实施例中的消息中间件数据处理方法的流程示意图之一;
35.图2为本申请实施例中的消息中间件数据处理方法的流程示意图之二;
36.图3为本申请实施例中的消息中间件数据处理方法的流程示意图之三;
37.图4为本申请实施例中的消息中间件数据处理装置的结构图之一;
38.图5为本申请实施例中的消息中间件数据处理装置的结构图之二;
39.图6为本申请实施例中的消息中间件数据处理装置的结构图之三;
40.图7为本申请实施例中的消息中间件数据处理系统的结构图;
41.图8为本申请实施例中的电子设备的结构示意图。
具体实施方式
42.为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
43.考虑到现有技术中消息中间件在实际使用中,会和每个消息生产者建立一个长连接,以快速接收消息。当生产者连接数不断增加时,对消息中间件的压力会不断增加,达到一定规模后会显著影响消息中间件的性能的问题,本申请提供一种消息中间件数据处理方法、装置及系统,通过软负载均衡系统与消息生产者建立通信短连接并接受所述消息生产者发送的消息,经所述软负载均衡系统对消息进行负载均衡后发送至网关集群,同时网关集群根据设定时间周期内接收到的所述消息所对应的消息生产者的数量,执行相应的网关集群容量调整操作,然后再转发至对应的消息中间件,以此有效减少消息中间件的连接数和运行压力,保障消息中间件的工作性能。
44.为了能够有效减少消息中间件的连接数和运行压力,保障消息中间件的工作性能,本申请提供一种消息中间件数据处理方法的实施例,参见图1,所述消息中间件数据处理方法具体包含有如下内容:
45.步骤s101:接收软负载均衡系统发送的消息,其中,所述消息是消息生产者与所述软负载均衡系统建立通信短连接后发送的。
46.可选的,本申请方法的执行主体可以为设置在消息生产者与消息中间件之间的网关集群,例如一种由多个弹性网关组成的集群,可以动态的根据实际性能需要进行集群扩容或缩容,例如,当消息生产者不断增加,网关需要跟着增加,保证每个网关可以高效处理消息,举例来说,网关可以采用高性能基于nio的web容器undertow来处理请求。
47.可选的,在本申请的网关集群与消息生产者之间还可以设置一软负载均衡系统,即slb,软负载均衡系统用于把消息随机负载到下游,即网关集群。
48.具体的,消息生产者在发送消息时可以先与所述软负载均衡系统建立通信短连接,而后将消息发送至软负载均衡系统,经由软负载均衡系统把消息随机负载到网关集群。
49.可以理解的是,在实际应用场景中往往存在多个不同消息生产者需要向同一消息中间件发送消息的情形,而通过本申请的上述内容,多个不同消息生产者可以将其消息最
终先汇总至同一个或指定个网关集群中,再由网关集群将该些消息发送至目标消息中间件,由此大大减少了消息中间件的连接数,提高了消息处理效率,比如原来一个消息中间件kafka对两万个消息生产者。现在建立100个网关集群,每个网关集群对应200个消息生产者,那kafka只需要对应这100个网关集群就可以了。
50.步骤s102:根据设定时间周期内接收到的所述消息所对应的消息生产者的数量,执行相应的网关集群容量调整操作,并在所述容量调整操作完成后与设定消息中间件建立通信长连接并将所述消息转发至所述消息中间件。
51.可选的,本申请的网关集群可以由多个弹性网关组合而成,因此可以动态的根据实际性能需要进行集群扩容或缩容,例如,当消息生产者不断增加,网关需要跟着增加,保证每个网关可以高效处理消息。
52.具体来说,本申请的网关集群可以根据设定时间周期内接收到的所述消息所对应的消息生产者的数量,执行相应的网关集群容量调整操作,例如在1分钟内接收到了超过一万个消息生产者发送的消息,则此时执行网关集群容量扩容操作,保证每个网关可以高效处理消息。
53.可选的,在网关集群动态调整容量后,网关集群可以与设定消息中间件建立通信长连接并将所述消息转发至所述消息中间件。
54.从上述描述可知,本申请实施例提供的消息中间件数据处理方法,能够通过软负载均衡系统与消息生产者建立通信短连接并接受所述消息生产者发送的消息,经所述软负载均衡系统对消息进行负载均衡后发送至网关集群,同时网关集群根据设定时间周期内接收到的所述消息所对应的消息生产者的数量,执行相应的网关集群容量调整操作,然后再转发至对应的消息中间件,以此有效减少消息中间件的连接数和运行压力,保障消息中间件的工作性能。
55.为了能够提高网关集群的消息处理效率,在本申请的消息中间件数据处理方法的一实施例中,参见图2,上述步骤s102还可以具体包含如下内容:
56.步骤s201:监测设定时间周期内接收到的所述消息所对应的消息生产者的数量。
57.步骤s202:根据所述消息生产者数量与预设阈值的数值比较关系,增加相应数量的弹性网关或减少相应数量的弹性网关。
58.可选的,本申请的网关集群可以根据设定时间周期内接收到的所述消息所对应的消息生产者的数量,执行相应的网关集群容量调整操作,例如在1分钟内接收到了超过一万个消息生产者发送的消息,则此时执行网关集群容量扩容操作,保证每个网关可以高效处理消息,或者,在1分钟内接收到了不足一千个消息生产者发送的消息,则此时执行网关集群容量缩容操作,保证每个网关可以高效处理消息。
59.为了能够提高软负载均衡系统的负载均衡效率,在本申请的消息中间件数据处理方法的一实施例中,在上述步骤s202之后,还可以具体包含如下内容:
60.将所述网关集群中弹性网关的变化数量发送至所述软负载均衡系统,以使所述软负载均衡系统根据所述弹性网关的变化数量更新均衡负载策略。
61.可选的,所述软负载均衡系统可以使用nginx或者haproxy,主要目的是把消息随机负载到下游,即网关集群,同时,网关集群的容量增减也可以让软负载均衡系统感知到,举例来说,如果使用nginx,可以使用lua脚本去接收这种变化并更新nginx的服务器配置,
如果使用haproxy,可以使用etcd去感知网关变化,并刷新haproxy的配置。
62.为了能够提高网关集群的消息处理效率,在本申请的消息中间件数据处理方法的一实施例中,参见图3,上述步骤s102还可以具体包含如下内容:
63.步骤s301:将所述消息压入预设消息任务队列。
64.步骤s302:监测所述预设消息任务队列的体量大小是否超过预设阈值,若是,则将所述预设消息任务队列中所有消息一次性发送至所述消息中间件,否则持续将新接收到的消息压入所述预设消息任务队列。
65.可选的,本申请的网关集群内部可以设置一个用于缓冲的消息任务队列,防止数据太多处理不过来把内存撑爆(即防止背压),当消息超过队列长度时,或者队列的大小超过设置的阀值时(例如机器内存大小的1%),则立即触发扫描线程的一次清空(drainto),而不会等固定的时间频率到时才清空。另外,如果这些机制仍然处理不过来的话,则消息无法入队,则将新的消息丢弃,以保障机器内存不被不断增加的消息撑爆。
66.为了能够有效减少消息中间件的连接数和运行压力,保障消息中间件的工作性能,本申请提供一种用于实现所述消息中间件数据处理方法的全部或部分内容的消息中间件数据处理装置的实施例,参见图4,所述消息中间件数据处理装置具体包含有如下内容:
67.消息接收模块10,用于接收软负载均衡系统发送的消息,其中,所述消息是消息生产者与所述软负载均衡系统建立通信短连接后发送的。
68.网关调整模块20,用于根据设定时间周期内接收到的所述消息所对应的消息生产者的数量,执行相应的网关集群容量调整操作,并在所述容量调整操作完成后与设定消息中间件建立通信长连接并将所述消息转发至所述消息中间件。
69.从上述描述可知,本申请实施例提供的消息中间件数据处理装置,能够通过软负载均衡系统与消息生产者建立通信短连接并接受所述消息生产者发送的消息,经所述软负载均衡系统对消息进行负载均衡后发送至网关集群,同时网关集群根据设定时间周期内接收到的所述消息所对应的消息生产者的数量,执行相应的网关集群容量调整操作,然后再转发至对应的消息中间件,以此有效减少消息中间件的连接数和运行压力,保障消息中间件的工作性能。
70.为了能够提高网关集群的消息处理效率,在本申请的消息中间件数据处理装置的一实施例中,参见图5,所述网关调整模块20包括:
71.消息生产着数量监测单元21,用于监测设定时间周期内接收到的所述消息所对应的消息生产者的数量。
72.弹性网关数量调整单元22,用于根据所述消息生产者数量与预设阈值的数值比较关系,增加相应数量的弹性网关或减少相应数量的弹性网关。
73.为了能够提高软负载均衡系统的负载均衡效率,在本申请的消息中间件数据处理装置的一实施例中,还具体包含有如下内容:
74.策略更新单元,用于将所述网关集群中弹性网关的变化数量发送至所述软负载均衡系统,以使所述软负载均衡系统根据所述弹性网关的变化数量更新均衡负载策略。
75.为了能够提高网关集群的消息处理效率,在本申请的消息中间件数据处理装置的一实施例中,参见图6,所述网关调整模块20包括:
76.任务队列单元23,用于将所述消息压入预设消息任务队列。
77.队列任务处理单元24,用于监测所述预设消息任务队列的体量大小是否超过预设阈值,若是,则将所述预设消息任务队列中所有消息一次性发送至所述消息中间件,否则持续将新接收到的消息压入所述预设消息任务队列。
78.为了更进一步说明本方案,本申请还提供一种应用上述消息中间件数据处理装置实现消息中间件数据处理方法的系统的具体应用实例,参见图7,具体包含有:消息生产者、软负载均衡系统、网关集群以及消息中间件。
79.所述网关集群包括:
80.消息接收模块10,用于接收所述软负载均衡系统发送的消息,其中,所述消息是所述消息生产者与所述软负载均衡系统建立通信短连接后发送的。
81.网关调整模块20,用于根据设定时间周期内接收到的所述消息所对应的消息生产者的数量,执行相应的网关集群容量调整操作,并在所述容量调整操作完成后与所述消息中间件建立通信长连接并将所述消息转发至所述消息中间件。
82.可选的,所述消息生产者可以基于java技术栈来表述,消息生产者是java程序,内部维护一个线程安全的消息队列(linkblockingqueue),把需要上报的消息先写入队列。另一个线程定时扫描这一队列,将队列中的消息一次性清空(drainto)。然后把报文从对象反序列化成字节流(json格式),通过java原生的http客户端发送到slb。
83.可选的,当消息超过队列长度时,或者队列的大小超过设置的阀值时(例如机器内存大小的1%),则立即触发扫描线程的一次清空(drainto),而不会等固定的时间频率到时才清空。另外,如果这些机制仍然处理不过来的话,则消息无法入队,则将新的消息丢弃,以保障机器内存不被不断增加的消息撑爆。
84.所述软负载均衡可以使用nginx或者haproxy,都是一样的,主要目的是把请求随机负载到下游,即弹性网关。注意,既然是弹性网关,这里网关集群增减需要让slb感知到。如果使用nginx,可以使用lua脚本去接收这种变化并更新nginx的服务器配置。如果是haproxy,可以使用etcd去感知网关变化,并刷新haproxy的配置。
85.可选的,为了进一步提升http协议的传输效率,可以在slb上配置支持http2.0的配置(不配置的话通常是http 1.1),这样处理请求更加高效。
86.所述网关集群用来接收web请求,即可以动态的根据实际性能需要扩容或缩容。当消息生产者不断增加,网关则需要跟着增加,保证每个网关可以高效处理消息。网关采用高性能基于nio的web容器undertow来处理请求。
87.可选的,网关内部也有一个缓冲队列,防止数据太多处理不过来把内存撑爆(即防止背压)。这个队列会把接收到的消息先缓冲一段时间,和生产者类似,另一个线程定时扫描这一队列,将队列中的消息一次性清空(drainto)。然后发送给kafka。
88.可选的,和消息生产者类似,当消息超过队列长度时,或者队列的大小超过设置的阀值时(例如机器内存大小的1%),则立即触发扫描线程的一次清空(drainto),而不会等固定的时间频率到时才清空。另外,如果这些机制仍然处理不过来的话,则消息无法入队,则将新的消息丢弃,以保障机器内存不被不断增加的消息撑爆。
89.所述消息中间件例如为kafka,从kafka这一侧看来,原来需要面对成千上百上万的实例(即消息生产者),现在的话,通过中间的网关代理,显著的削减了连接数。比如原来一个kafka对2w个生产者。现在建立100个网关,每个网关对200个生产者,那kafka只需要对
这100个网关就可以了。
90.有上述内容可知,本申请还可以实现如下技术效果:
91.1、整个过程除了发送http请求和发送kafka请求这两个点是同步的,其他全部通过队列的方式解耦,性能强劲。
92.2、通过队列长度和大小限制,有效的保证了生产者和网关的内存安全。
93.3、有效的削减了kafka连接数,而且网关可以弹性扩容,无性能问题。
94.从硬件层面来说,为了能够有效减少消息中间件的连接数和运行压力,保障消息中间件的工作性能,本申请提供一种用于实现所述消息中间件数据处理方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
95.处理器(processor)、存储器(memory)、通信接口(communications interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现消息中间件数据处理装置与核心业务系统、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的消息中间件数据处理方法的实施例,以及消息中间件数据处理装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
96.可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(pda)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
97.在实际应用中,消息中间件数据处理方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
98.上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
99.图8为本申请实施例的电子设备9600的系统构成的示意框图。如图8所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图8是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
100.一实施例中,消息中间件数据处理方法功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
101.步骤s101:接收软负载均衡系统发送的消息,其中,所述消息是消息生产者与所述软负载均衡系统建立通信短连接后发送的。
102.步骤s102:根据设定时间周期内接收到的所述消息所对应的消息生产者的数量,执行相应的网关集群容量调整操作,并在所述容量调整操作完成后与设定消息中间件建立通信长连接并将所述消息转发至所述消息中间件。
103.从上述描述可知,本申请实施例提供的电子设备,通过软负载均衡系统与消息生产者建立通信短连接并接受所述消息生产者发送的消息,经所述软负载均衡系统对消息进行负载均衡后发送至网关集群,同时网关集群根据设定时间周期内接收到的所述消息所对应的消息生产者的数量,执行相应的网关集群容量调整操作,然后再转发至对应的消息中间件,以此有效减少消息中间件的连接数和运行压力,保障消息中间件的工作性能。
104.在另一个实施方式中,消息中间件数据处理装置可以与中央处理器9100分开配置,例如可以将消息中间件数据处理装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现消息中间件数据处理方法功能。
105.如图8所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图8中所示的所有部件;此外,电子设备9600还可以包括图8中没有示出的部件,可以参考现有技术。
106.如图8所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
107.其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
108.输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为lcd显示器,但并不限于此。
109.该存储器9140可以是固态存储器,例如,只读存储器(rom)、随机存取存储器(ram)、sim卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为eprom等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
110.存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
111.通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
112.基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可
以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
113.本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的消息中间件数据处理方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的消息中间件数据处理方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
114.步骤s101:接收软负载均衡系统发送的消息,其中,所述消息是消息生产者与所述软负载均衡系统建立通信短连接后发送的。
115.步骤s102:根据设定时间周期内接收到的所述消息所对应的消息生产者的数量,执行相应的网关集群容量调整操作,并在所述容量调整操作完成后与设定消息中间件建立通信长连接并将所述消息转发至所述消息中间件。
116.从上述描述可知,本申请实施例提供的计算机可读存储介质,通过软负载均衡系统与消息生产者建立通信短连接并接受所述消息生产者发送的消息,经所述软负载均衡系统对消息进行负载均衡后发送至网关集群,同时网关集群根据设定时间周期内接收到的所述消息所对应的消息生产者的数量,执行相应的网关集群容量调整操作,然后再转发至对应的消息中间件,以此有效减少消息中间件的连接数和运行压力,保障消息中间件的工作性能。
117.本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
118.本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
119.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
120.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
121.本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,
依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

技术特征:
1.一种消息中间件数据处理方法,其特征在于,所述方法包括:接收软负载均衡系统发送的消息,其中,所述消息是消息生产者与所述软负载均衡系统建立通信短连接后发送的;根据设定时间周期内接收到的所述消息所对应的消息生产者的数量,执行相应的网关集群容量调整操作,并在所述容量调整操作完成后与设定消息中间件建立通信长连接并将所述消息转发至所述消息中间件。2.根据权利要求1所述的消息中间件数据处理方法,其特征在于,所述根据设定时间周期内接收到的所述消息所对应的消息生产者的数量,执行相应的网关集群容量调整操作,包括:监测设定时间周期内接收到的所述消息所对应的消息生产者的数量;根据所述消息生产者数量与预设阈值的数值比较关系,增加相应数量的弹性网关或减少相应数量的弹性网关。3.根据权利要求2所述的消息中间件数据处理方法,其特征在于,在根据所述消息生产者数量与预设阈值的数值比较关系,增加相应数量的弹性网关或减少相应数量的弹性网关之后,包括:将所述网关集群中弹性网关的变化数量发送至所述软负载均衡系统,以使所述软负载均衡系统根据所述弹性网关的变化数量更新均衡负载策略。4.根据权利要求1所述的消息中间件数据处理方法,其特征在于,所述将所述消息转发至所述消息中间件,包括:将所述消息压入预设消息任务队列;监测所述预设消息任务队列的体量大小是否超过预设阈值,若是,则将所述预设消息任务队列中所有消息一次性发送至所述消息中间件,否则持续将新接收到的消息压入所述预设消息任务队列。5.一种消息中间件数据处理装置,其特征在于,包括:消息接收模块,用于接收软负载均衡系统发送的消息,其中,所述消息是消息生产者与所述软负载均衡系统建立通信短连接后发送的;网关调整模块,用于根据设定时间周期内接收到的所述消息所对应的消息生产者的数量,执行相应的网关集群容量调整操作,并在所述容量调整操作完成后与设定消息中间件建立通信长连接并将所述消息转发至所述消息中间件。6.根据权利要求5所述的消息中间件数据处理装置,其特征在于,所述网关调整模块包括:消息生产着数量监测单元,用于监测设定时间周期内接收到的所述消息所对应的消息生产者的数量;弹性网关数量调整单元,用于根据所述消息生产者数量与预设阈值的数值比较关系,增加相应数量的弹性网关或减少相应数量的弹性网关。7.根据权利要求5所述的消息中间件数据处理装置,其特征在于,所述网关调整模块包括:任务队列单元,用于将所述消息压入预设消息任务队列;队列任务处理单元,用于监测所述预设消息任务队列的体量大小是否超过预设阈值,
若是,则将所述预设消息任务队列中所有消息一次性发送至所述消息中间件,否则持续将新接收到的消息压入所述预设消息任务队列。8.一种消息中间件数据处理系统,其特征在于,包括消息生产者、软负载均衡系统、网关集群以及消息中间件;所述网关集群包括:消息接收模块,用于接收所述软负载均衡系统发送的消息,其中,所述消息是所述消息生产者与所述软负载均衡系统建立通信短连接后发送的;网关调整模块,用于根据设定时间周期内接收到的所述消息所对应的消息生产者的数量,执行相应的网关集群容量调整操作,并在所述容量调整操作完成后与所述消息中间件建立通信长连接并将所述消息转发至所述消息中间件。9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4任一项所述的消息中间件数据处理方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4任一项所述的消息中间件数据处理方法的步骤。
技术总结
本申请实施例提供一种消息中间件数据处理方法、装置及系统,也可用于金融领域,方法包括:接收软负载均衡系统发送的消息,其中,所述消息是消息生产者与所述软负载均衡系统建立通信短连接后发送的;根据设定时间周期内接收到的所述消息所对应的消息生产者的数量,执行相应的网关集群容量调整操作,并在所述容量调整操作完成后与设定消息中间件建立通信长连接并将所述消息转发至所述消息中间件;本申请能够有效减少消息中间件的连接数和运行压力,保障消息中间件的工作性能。保障消息中间件的工作性能。保障消息中间件的工作性能。


技术研发人员:刘慕雨 孙才婵 张锦涛 黄镜澄
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:2021.03.19
技术公布日:2021/6/29

转载请注明原文地址:https://doc.8miu.com/read-10778.html

最新回复(0)