【技术实现步骤摘要】
消息处理方法、装置及设备
[0001]本申请属于通信
,具体涉及一种消息处理方法
、
装置及设备
。
技术介绍
[0002]消息队列
(Message Queue
,
MQ)
是一种基于先进先出
(FIFO)
的队列模型中间件
。
消息发送后可以立即返回,由消息系统确保消息的可靠传递
。
消息生产者
(Producer)
只需将消息发布到
MQ
中,无需管谁来取消息和如何取消息;消息消费者
(Consumer)
只管从
MQ
中取消息而不用管是谁发布的以及如何发布的
。
[0003]现有技术中,消息统一放到一个消息队列中,启动一个程序单线程或者多线程去消费并处理消息
。
因此,经常需要为每个
MQ
单独分配线程进行消息消费,然而在数据流过大时,由于线程处理能力固定,导致无法及时处理数据流,造成线程阻塞
。
技术实现思路
[0004]本申请实施例的目的是提供一种消息处理方法
、
装置及设备,能够提高消息处理的效率
。
[0005]第一方面,本申请实施例提供了一种应用于中间件服务器的消息处理方法,包括:
[0006]根据所述中间件服务器预先配置的目标队列,确定目标消费端可接收消息的数量,所述目标队列为所述目标消费端的队列;
[000 ...
【技术保护点】
【技术特征摘要】
1.
一种消息处理方法,其特征在于,应用于中间件服务器,所述方法包括:根据所述中间件服务器预先配置的目标队列,确定目标消费端可接收消息的数量,所述目标队列为所述目标消费端的队列;在所述目标消费端可接收消息的数量大于零的情况下,若所述中间件服务器预先配置的缓存队列中缓存有至少一个消息,将所述缓存队列中的目标消息传输至所述中间件服务器的目标线程池中,其中,所述缓存队列与所述目标队列对应,且所述缓存队列用于缓存所述中间件服务器从目标生产端拉取的消息;所述目标消息为所述缓存队列中位于队头的消息;将所述目标线程池中的目标消息推送至所述目标消费端
。2.
根据权利要求1所述的方法,其特征在于,所述目标队列中元素的数量与所述目标消费端可接收消息的数量匹配;所述将所述缓存队列中的目标消息传输至所述中间件服务器的目标线程池中之后,还包括:在所述目标队列中减少一个元素,以更新所述目标队列
。3.
根据权利要求2所述的方法,其特征在于,所述在所述目标队列中减少一个元素,包括:从所述目标队列中提取目标元素,所述目标元素为所述目标队列中任一元素,所述目标元素用于指示所述中间件服务器与所述目标消费端之间的传输通道;将所述目标线程池中的目标消息推送至所述目标消费端,包括:将所述目标线程池中的目标消息通过所述传输通道推送至所述目标消费端
。4.
根据权利要求2所述的方法,其特征在于,所述将所述目标线程池中的目标消息推送至所述目标消费端之后,还包括:接收所述目标消费端发送的反馈消息,所述反馈消息用于指示所述目标消费端已基于所述目标消息完成消费;响应于所述反馈消息,在所述目标队列中增加一个元素,以更新所述目标队列
。5.
根据权利要求1所述的方法,其特征在于,所述中间服务器中预先配置有
N
个第一队列和
N
个第二队列,所述
N
个第一队列分别为
N
个消费端对应的队列,
N
个第一队列与
N
个第二队列对应,
N
为正整数;所述根据所述中间件服务器预先配置的目标队列,确定目标消费端可接收消息的数量,包括:在第
K
‑1个消费端可接收消息的数量为零的情况下,根据所述中间件服务器预先配置的第
K
个第一队列,确定所述第
K
个消费端可接收消息的数量,其中,所述目标队列为所述第
K
个第一队列,所述目标消费端为第
K
个消费端,所述缓存队列为所述
N
个第二队列中与所述第
K
个第一队列对应的队列,
K
为大于1的整数且
K
小于等于
N。6.
根据权利要求5所述的方法,其特征在于,所述在所述目标消费端可接收消息的数量大于零的情况下,若所述中间件服务器预先配置的缓存队列中缓存有至少一个消息,将所述缓存队列中的目标消息传输至所述中间件服务器的目标线程池中,包括:在所述第
K
个消费端...
【专利技术属性】
技术研发人员:廖建伟,
申请(专利权)人:维沃移动通信有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。