消息处理方法、装置、存储介质及电子装置制造方法及图纸

技术编号:27058962 阅读:19 留言:0更新日期:2021-01-15 14:38
本发明专利技术实施例提供了一种消息处理方法、装置、存储介质及电子装置,其中,该方法包括:检测目标服务器中第一存储空间的工作状态以及消费者的状态;确定第一存储空间的工作状态为异常和/或消费者的状态为异常的情况下,向生产者发送第一地址,以指示生产者将待存放到第一存储空间中的第一消息存储至第一地址所对应的目标存储区域中,其中,第一地址为第二存储空间包括的存储区域的地址,第二存储空间为目标服务器包括的与第一存储空间类型不同的第二存储空间中。通过本发明专利技术,解决了相关技术中存在的由于单向通信导致存储空间内消息堆积的问题,实现双向通信,达到缓解存储空间内消息堆积效果,提高服务器的工作效率。

【技术实现步骤摘要】
消息处理方法、装置、存储介质及电子装置
本专利技术实施例涉及通信领域,具体而言,涉及一种消息处理方法、装置、存储介质及电子装置。
技术介绍
消息队列是进程间通信的一种中间件,现代软件产品普遍包含多模块,且要求产品有高灵活性,因此应用消息中间件能实现程序间解耦,并通过消息队列缓存消息实现进程处理数据的消峰效果。下面以RabbitMQ消息队列为例进行说明:单台RabbitMQ服务处理消息的能力有限,同时,官方给出的集群方案(例如,keepalive+haproxy)会存在单台的高流量+集群内部流量重复流量问题,对集群的能力提升有限制且有天花板。在相关技术中,基于负载均衡的RabbitMQ多集群方案,实现方式在生产者/消费者客户端与RabbitMQ服务之间搭建一个代理服务,由代理服务管理多个RabbitMQ集群,同时,客户端先从代理服务端获取真实的RabbitMQIP再连接。然而,客户端与代理服务端都是单向联系的,代理服务端无法管理客户端,当某个消费者异常离线后,将造成RabbitMQ队列堆积,由于RabbitMQ对消息堆积很不友好,消息的持续堆积将大大降低该节点的可用性,直至整个节点完全不可用。由此可知,相关技术中存在由于单向通信导致存储空间内消息堆积的问题。针对相关技术中存在的上述问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种消息处理方法、装置、存储介质及电子装置,以至少解决相关技术中存在的由于单向通信导致存储空间内消息堆积的问题。根据本专利技术的一个实施例,提供了一种消息处理方法,包括:检测目标服务器中第一存储空间的工作状态以及消费者的状态;确定所述第一存储空间的工作状态为异常和/或消费者的状态为异常的情况下,向生产者发送第一地址,以指示所述生产者将待存放到所述第一存储空间中的第一消息存储至所述第一地址所对应的目标存储区域中,其中,所述第一地址为第二存储空间包括的存储区域的地址,所述第二存储空间为所述目标服务器包括的与所述第一存储空间类型不同的存储空间;将所述第一地址发送至所述消费者,以指示所述消费者消费所述第一地址中存储的消息。根据本专利技术的另一个实施例,提供了一种消息处理装置,包括:检测模块,用于检测目标服务器中第一存储空间的工作状态以及消费者的状态;存储模块,用于确定所述第一存储空间的工作状态为异常和/或消费者的状态为异常的情况下,向生产者发送第一地址,以指示所述生产者将待存放到所述第一存储空间中的第一消息存储至第一地址所对应的目标存储区域中,其中,所述第一地址为第二存储空间包括的存储区域的地址,所述第二存储空间为所述目标服务器包括的与所述第一存储空间类型不同的存储空间;发送模块,用于将所述第一地址发送至所述消费者,以指示所述消费者消费所述第一地址对应的目标存储区域存储的消息。根据本专利技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。根据本专利技术的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。通过本专利技术,在检测到目标服务器第一存储空间的工作状态处于异常和/或消费者的状态为异常的情况下,向生产者发送第二存储空间中用于存储第一消息的存储区域的第一地址,以指示生产者将待存放到第一存储空间中的第一消息存储至第二存储空间包括的目标存储区域中,并将第一消息发送给消费者,以指示消费者消费第一地址对应的目标区域存储的消息。由于生产者能够感知目标服务器的异常,目标服务器也能够感知消费者异常,实现了双向通信,在确定目标服务器和/或消费者存在异常的情况下,将第一消息存储到第二存储空间的目标存储区域中,并将目标存储区域的地址发送给消费者,以指示消费者消费第一消息,避免了消息堆积,因此,可以解决相关技术中存在的由于单向通信导致存储空间内消息堆积问题,实现双向通信,达到缓解存储空间内消息堆积效果,提高服务器的工作效率。附图说明图1是本专利技术实施例的一种消息处理方法的移动终端的硬件结构框图;图2是根据本专利技术实施例的消息处理方法的流程图;图3是根据本专利技术示例性实施例的消息处理结构示意图;图4是根据本专利技术示例性实施例的消息处理方法启动流程;图5是根据本专利技术实施例的消息处理装置的结构框图。具体实施方式下文中将参考附图并结合实施例来详细说明本专利技术的实施例。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本专利技术实施例的一种消息处理方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本专利技术实施例中的消息处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(NetworkInterfaceController,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(RadioFrequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。在本实施例中提供了一种消息存储方法,图2是根据本专利技术实施例的消息处理方法的流程图,如图2所示,该流程包括如下步骤:步骤S202,检测目标服务器中第一存储空间的工作状态以及消费者的状态;步骤S204,确定所述第一存储空间的工作状态为异常和/或消费者的状态为异常的情况下,向生产者发送第一地址,以指示所述生产者将待存放到所述第一存储空间中的第一消息存储至本文档来自技高网...

【技术保护点】
1.一种消息处理方法,其特征在于,包括:/n检测目标服务器中第一存储空间的工作状态以及消费者的状态;/n确定所述第一存储空间的工作状态为异常和/或消费者的状态为异常的情况下,向生产者发送第一地址,以指示所述生产者将待存放到所述第一存储空间中的第一消息存储至所述第一地址所对应的目标存储区域中,其中,所述第一地址为第二存储空间包括的存储区域的地址,所述第二存储空间为所述目标服务器包括的与所述第一存储空间类型不同的存储空间;/n将所述第一地址发送至所述消费者,以指示所述消费者消费所述第一地址对应的目标存储区域存储的消息。/n

【技术特征摘要】
1.一种消息处理方法,其特征在于,包括:
检测目标服务器中第一存储空间的工作状态以及消费者的状态;
确定所述第一存储空间的工作状态为异常和/或消费者的状态为异常的情况下,向生产者发送第一地址,以指示所述生产者将待存放到所述第一存储空间中的第一消息存储至所述第一地址所对应的目标存储区域中,其中,所述第一地址为第二存储空间包括的存储区域的地址,所述第二存储空间为所述目标服务器包括的与所述第一存储空间类型不同的存储空间;
将所述第一地址发送至所述消费者,以指示所述消费者消费所述第一地址对应的目标存储区域存储的消息。


2.根据权利要求1所述的方法,其特征在于,确定消费者的状态为异常的情况下,向生产者发送第一地址,以指示所述生产者将待存放到所述第一存储空间中的第一消息存储至所述第一地址所对应的目标存储区域中包括:
在所述消费者处于未连接所述目标服务器的情况下,确定所述消费者的状态为异常;
确定与所述消费者对应的目标生产者;
将所述第一地址发送给所述目标生产者,以指示所述目标生产者将所述第一消息包括的与所述消费者对应的第一目标消息存储到所述第二存储空间包括的所述目标存储区域中。


3.根据权利要求2所述的方法,其特征在于,在将所述第一地址发送给所述目标生产者之后,所述方法还包括:
确定所述消费者处于连接到所述目标服务器的情况下,获取第二消息存储在所述第一存储空间的第二地址以及所述第一目标消息存储在所述第二存储空间的第一地址,其中,所述第二消息为在确定所述消费者的状态为异常之前,存储至所述第一存储空间中的与所述消费者对应的数据;
将所述第一地址以及所述第二地址发送给所述消费者,以指示所述消费者按照第一规则消费所述第二消息以及所述第一目标消息。


4.根据权利要求3所述的方法,其特征在于,确定所述消费者处于连接到所述目标服务器之后,所述方法还包括:
通知所述目标生产者将第三消息存放至所述第一存储空间中,其中,所述第三消息为在确定所述消费者处于连接到所述目标服务器后,待存储的与所述消费者对应的数据。


5.根据权利要求1所述的方法,其特征在于,确定所述第一存储空间的工作状态为异常的情况下,向生产者发送第一地址,以指示所述生产者将待存放到所述第一存储空间中的第一消息存储至所述第一地址所对应的目标存储区域中包括:
获取所述第一存储空间中存储的消息的第一数量;
确定所述第一数量与第一阈值的差值;
在确定所述差值大于零的情况下,确定所述第一存储空间的工作状态为异常;
向生产者发送第一地址,以指示所述生产者将待存放到所述第一存储空间中的第一消息存储至所述第二存储空间包括的目标存储区域中。


6.根据权利要求5所述的方法,其特征在于,在确定所述第一数量与第一阈值的差值之后,所述方法还包括:

【专利技术属性】
技术研发人员:薛楚
申请(专利权)人:浙江大华技术股份有限公司
类型:发明
国别省市:浙江;33

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

1