[发明专利]消息推送方法、装置、电子设备及存储介质有效
申请号: | 202011330486.7 | 申请日: | 2020-11-24 |
公开(公告)号: | CN112492019B | 公开(公告)日: | 2023-07-18 |
发明(设计)人: | 李超;李兵 | 申请(专利权)人: | 度小满科技(北京)有限公司 |
主分类号: | H04L67/55 | 分类号: | H04L67/55 |
代理公司: | 北京知帆远景知识产权代理有限公司 11890 | 代理人: | 刘岩磊 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 消息 推送 方法 装置 电子设备 存储 介质 | ||
本申请实施例提供一种消息推送方法、电子设备及存储介质,该方法包括:第一设备将第一消息推送至第二设备的第一消息队列中,执行第一事务,并根据第一事务的执行结果生成第二消息,将生成的第二消息发送至第一消息队列中,该第二消息用于指示是否将第一消息推送给第二用户。第二设备在预设时间内在该第一消息队列中查询第二消息,并根据第二消息确定是否向第二用户推送第一消息。即本申请实施例,第一设备预先向第一消息队列发送第一消息,并根据第一事务的执行结果,向第一消息队列发送第二消息,这样,第二设备可以根据第一事务的执行结果来确定是否发送第一消息,保证第一事务的执行情况与第一消息的推送情况一致。
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种消息推送方法、装置、电子设备及存储介质。
背景技术
消息可以理解为数据,由一个固定长度的消息头和一个可变长度的消息体组成,通常将消息的发送者称为生产者,将消息的接收者称为消费者。
对于分布式消息系统,生产者a执行本地的一个事务,在事务执行成功时,向消费者b发送消息,使得消费者b根据该消息执行相关的操作。
但是,在向消费者b发送消息时,可能存在发送失败的情况,这样会导致生成者a的本地事务执行成功,但是消费者b接收不到消息,造成本地事务的执行和消息的发送不一致的问题。
发明内容
本申请实施例提供一种消息推送方法、装置、电子设备及存储介质,用于实现本地事务的执行和消息的发送一致。
第一方面,本申请实施例提供一种消息推送方法,应用于第一设备,包括:
将第一消息发送至第二设备的第一消息队列中,所述第一设备与第一用户对应,所述第一消息用于指示第二用户执行预设操作;
执行第一事务,并根据所述第一事务的执行结果,生成第二消息,所述第二消息用于指示是否将所述第一消息推送至所述第二用户;
将所述第二消息发送至所述第一消息队列中。
在第一方面的一种可能的实现方式中,所述根据所述第一事务的执行结果,生成第二消息,包括:
在所述第一事务的执行结果为成功时,将第一推送指令携带在所述第二消息中,所述第一推送指令用于指示向所述第二用户推送所述第一消息;
在所述第一事务的执行结果为失败时,将第二推送指令携带在所述第二消息中,所述第二推送指令用于指示不向所述第二用户推送所述第一消息。
在第一方面的一种可能的实现方式中,所述方法还包括:
在所述第一事务的执行结果为成功时,将所述第一消息发送至数据库。
在第一方面的一种可能的实现方式中,所述将第一消息发送至第二设备的第一消息队列中,包括:
根据所述第一消息与其他消息之间的发送顺序关系,获得所述其他消息所在的目标片区的标识信息,所述目标片区为所述第一消息队列的一个片区,所述目标片区内的消息的处理顺序与排列顺序一致;
根据所述目标片区的标识信息,将所述第一消息存放在所述目标片区上。
第二方面,本申请实施例提供一种消息推送方法,应用于第二设备,所述方法包括:
从第二设备中的第一消息队列中查询第一消息,所述第一消息用于指示第二用户执行预设操作;
在预设时间内,从所述第一消息队列中查询第二消息,所述第二消息用于指示是否将所述第一消息推送至所述第二用户;
根据所述第二消息,确定是否向所述第二用户推送所述第一消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于度小满科技(北京)有限公司,未经度小满科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011330486.7/2.html,转载请声明来源钻瓜专利网。