[发明专利]消息推送方法、装置、计算机设备和存储介质在审
申请号: | 202110913757.X | 申请日: | 2021-08-10 |
公开(公告)号: | CN113824763A | 公开(公告)日: | 2021-12-21 |
发明(设计)人: | 唐梦南;明星 | 申请(专利权)人: | 武汉联影医疗科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F16/901 |
代理公司: | 北京华进京联知识产权代理有限公司 11606 | 代理人: | 唐德君 |
地址: | 430206 湖北省武汉市东湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 消息 推送 方法 装置 计算机 设备 存储 介质 | ||
本申请涉及一种消息推送方法、装置、计算机设备和存储介质。所述方法通过获取已创建的消息,并将消息存储在预设数据库中,再通过访问预设数据库向至少一个用户端推送消息。其中,预设数据库中包括发件箱、消息箱和收件箱。上述消息推送的方法中,将预设数据库拆分为了发件箱、消息箱和收件箱,在消息推送过程中消息管理服务器在每次获取到已创建的消息只需要在发件箱中写入一次发件记录,在需要推送消息时,用户端只需要读取收件箱中的收件记录即可实现消息的推送,实现了消息推送过程中的读写分离,即发件箱写多读少,收件箱写少读多的效果,避免了传统的使用一张表格进行消息记录时需要多次的读写操作,因而极大的提高了消息的推送效率。
技术领域
本申请涉及消息处理技术领域,特别是涉及一种消息推送方法、装置、计算机设备和存储介质。
背景技术
随着微服务架构模式的应用系统被大量开发使用,基于发件箱模式的消息管理与推送方法得到了广泛应用。
目前,基于微服务架构模式的应用系统,常常会利用中间件,比如,kafka、rabbitmq等组件,来实现各个微服务之间的通信。对于用户的某个操作,一个微服可能需要执行“存数据库”和“发送事件”两个步骤。这样一来一方面增加了消息中间件的服务,使得系统环境变得复杂,另一方面由于牵扯到两个系统,数据库事务和中间件的服务并不能保证整个操作的事务性(ACID),至多能保证各个子系统的事务性,最终会造成数据不一致的情况出现,为了解决这个问题需要引入分布式事务,极大增加了系统的开发复杂度与维护成本,特别是针对消息体量小的场景中,这样的架构是一种极大的资源浪费。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高消息推送效率的消息推送方法、装置、计算机设备和存储介质。
第一方面,一种消息推送方法,所述方法包括:
获取已创建的消息;
将所述消息存储在预设数据库中;所述预设数据库中包括发件箱、消息箱和收件箱;所述发件箱中包括所述消息的发件记录,所述消息箱中包括所述消息的消息内容,所述收件箱中包括所述消息的收件记录;
通过访问所述预设数据库向至少一个用户端推送所述消息。
在其中一个实施例中,所述通过访问所述预设数据库向至少一个用户端推送所述消息,包括:
通过读取所述收件箱中的收件记录的方式向至少一个用户端推送所述消息。
在其中一个实施例中,所述通过读取所述收件箱中的收件记录的方式向至少一个用户端推送所述消息,包括:
根据所述收件记录中记录的收件用户标识确定目标用户端;
根据所述收件记录中记录的与所述目标用户端的目标用户标识对应的消息标识,从所述消息箱中读取目标消息内容;
将所述目标消息内容推送至所述目标用户端。
在其中一个实施例中,所述根据所述收件记录中记录的收件用户标识确定目标用户端,包括:
将所述收件记录中记录的所有收件用户标识对应的用户端确定为目标用户端。
在其中一个实施例中,所述根据所述收件记录中记录的收件用户标识确定目标用户端,包括:
接收用户端发送的读取请求;所述读取请求包括目标用户标识;
从所述收件记录中记录的所有收件用户标识中查找所述目标用户标识,若查找到所述目标用户标识,则将所述用户端确定为所述目标用户端。
在其中一个实施例中,所述将所述目标消息内容推送至所述目标用户端之后,所述方法还包括:
更新所述收件记录中与所述目标用户标识关联的消息状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉联影医疗科技有限公司,未经武汉联影医疗科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110913757.X/2.html,转载请声明来源钻瓜专利网。