[发明专利]基于消息队列的消息消费方法、装置、计算机设备及介质在审
申请号: | 202011540523.7 | 申请日: | 2020-12-23 |
公开(公告)号: | CN112667414A | 公开(公告)日: | 2021-04-16 |
发明(设计)人: | 欧阳瑞 | 申请(专利权)人: | 平安普惠企业管理有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 深圳市世联合知识产权代理有限公司 44385 | 代理人: | 汪琳琳 |
地址: | 518000 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 消息 队列 消费 方法 装置 计算机 设备 介质 | ||
本申请公开了一种基于消息队列的消息消费方法、装置、计算机设备及介质,涉及云技术领域,所述方法包括:通过消息队列获取生产者的任务数据,将消息队列中的任务数据经过序列化解析,以得到序列任务,监测每一次从消息队列中取出序列任务进行异步消费的处理,若监测到消费异常消息或者没有接收到序列任务的消费处理消息,则执行异常处理,即将消费异常消息从消息队列中筛选出来,并对消费异常消息进行异常处理,减少了消费异常消息阻塞的问题,提高了消息的投递和消费性能,由于消费异常消息的监听可应用于各业务场景中,即共用一套代码,减少了开发工作量。此外,本申请还涉及区块链技术,用户交易数据存储于区块链中,提高了交易数据的安全性。
技术领域
本申请涉及云技术领域,尤其涉及基于消息队列的消息消费方法、装置、计算机设备及介质。
背景技术
MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据机构。指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递——生产者产生消息并把消息放入队列,然后由消费者去处理。消费者可以到指定队列拉取消息,或者订阅相应的队列,由MQ服务端给其推送消息。
在电商促销活动时,由于同一时刻客户端发起的订单数量剧增,使得消息队列无法同时存放过多的与订单相关的操作消息,操作消息可以是每个订单成功下单的短信通知操作,另外,消息队列生产者和消费者大部分都是单例,当消息过多的时候,会造成消息队列阻塞,而无法高性能投递和消费,同时,当消息过多的时候,对每个消息进行业务逻辑的处理时需要编写对应的逻辑代码,加大开发工作量。
发明内容
本申请实施例的目的在于提出一种基于消息队列的消息消费方法,以解决消息队列在消息过多时存在投递和消费性能低,以及所带来的开发工作量大的问题。
为了解决上述技术问题,本申请实施例提供一种基于消息队列的消息消费方法,应用于消费者,包括如下步骤:
通过消息队列获取生产者的任务数据;
将所述消息队列中的所述任务数据经过序列化解析,以得到序列任务;
监测每一次从所述消息队列中取出所述序列任务进行异步消费的处理,若监测到消费异常消息或者没有接收到所述序列任务的消费处理消息,则执行异常处理。
进一步地,通过消息队列获取生产者中的任务数据包括:
通过所述生产者将客户端输入的请求信息生成任务消息;
将所述任务消息进行预处理得到符合所述消息队列要求的数据格式,以得到生产者实例;
将预处理后的生产者实例进行容器化处理,并将得到的任务实例发送到所述消息队列中。
进一步地,若监测到消费异常消息或者没有接收到所述序列任务的消费处理消息包括:
若所述序列任务中的消息否定确定或者拒绝,且未设置重回所述消息队列,则确定为没有接收到所述序列任务的消费处理消息;
若所述序列任务中的消息在消息服务器存活的时间超过了预设的的生存时间值,则确定为消费异常消息;
若所述序列任务中的消息量大于预设的数据量,则确定为消费异常消息。
进一步地,述若所述序列任务中的消息量大于预设的数据量,则确定为消费异常消息之后,所述方法还包括:
对指定消息数据库进行编号,得到标记数据库,其中,所述消息数据库至少为2个;
根据所述消费异常消息从所述标记数据库中确定目标数据库对应的编号;
根据所述目标数据库对应的编号,将所述消费异常消息通过路由转发到目标数据库中。
进一步地,对指定消息数据库进行编号,得到标记数据库包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安普惠企业管理有限公司,未经平安普惠企业管理有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011540523.7/2.html,转载请声明来源钻瓜专利网。