【技术实现步骤摘要】
消息推送方法、装置、计算机设备和存储介质
[0001]本申请涉及消息推送
,特别是涉及一种消息推送方法、装置、计算机设备和存储介质。
技术介绍
[0002]在分布式系统中实现消息的实时推送,由于推送服务为集群部署,所以会存在多个服务节点。各个服务节点无法同时向连接至该节点的客户端发送消息,导致不同客户端接收到新消息的时间不一致,同时导致了部分客户端中的消息推送不及时。为了协调这些服务节点同时向连接到本节点的客户端发送消息,通常会通过分布式缓存的发布订阅机制来实现服务节点间的事件通知。
[0003]然而,在实际情况中,服务节点和分布式缓存之间可能会掉线,服务节点在掉线后重连,会丢失掉线期间的事件,这会造成部分消息无法发送给连接至该服务节点的客户端。
技术实现思路
[0004]本专利技术针对现有技术的缺点,提供了一种消息推送方法、装置、计算机设备和存储介质。本专利技术实施例能够实现在服务节点和分布式缓存出现掉线状况时避免消息丢失,保证同步且及时的消息推送服务。
[0005]本专利技术根据第一方面提供了消息推送方法,在一个实施例中,该方法包括:
[0006]同时执行第一处理逻辑和第二处理逻辑;其中,第一处理逻辑的执行过程包括:在接收到分布式缓存发送的第一事件参数时,根据第一事件参数生成第一推送任务,将第一推送任务加入消息推送队列;第二处理逻辑的执行过程包括:在满足预设触发条件时根据预先确定的消息主题集合获得第二事件参数,根据第二事件参数生成第二推送任务,将第二推送任务加入所述消 ...
【技术保护点】
【技术特征摘要】
1.一种消息推送方法,其特征在于,所述方法包括:同时执行第一处理逻辑和第二处理逻辑;其中,所述第一处理逻辑的执行过程包括:在接收到分布式缓存发送的第一事件参数时,根据所述第一事件参数生成第一推送任务,将所述第一推送任务加入消息推送队列;所述第二处理逻辑的执行过程包括:在满足预设触发条件时根据预先确定的消息主题集合获得第二事件参数,根据所述第二事件参数生成第二推送任务,将所述第二推送任务加入所述消息推送队列;根据所述消息推送队列进行消息推送。2.根据权利要求1所述的方法,其特征在于,所述方法应用于推送服务集群中的任一个推送服务节点,所述推送服务集群包括多个推送服务节点;所述第一事件参数是所述分布式缓存在接收到消息生成服务节点发布的第一消息生成事件后发送给本推送服务节点的;其中,所述第一消息生成事件对应于所述第一事件参数,所述消息生成服务节点在发布所述第一消息生成事件时将所述第一消息生成事件对应的消息内容以及所述第一事件参数发送给消息存储节点。3.根据权利要求2所述的方法,其特征在于,所述预先确定的消息主题集合为全量主题集合;在满足预设触发条件时根据预先确定的消息主题集合获得第二事件参数,包括:在满足预设触发条件时执行预设定时任务;其中,所述预设定时任务的执行过程包括:根据所述全量主题集合获得第二事件参数;优选地,所述根据全量主题集合获得第二事件参数包括:对于所述全量主题集合中的任一主题,在所述消息存储节点中查询对应于该任一主题的最新消息序号,将该任一主题以及对应于该任一主题的最新消息序号作为一组第二事件参数。4.根据权利要求2所述的方法,其特征在于,所述预先确定的消息主题集合包括热点主题集合和全量主题集合;在满足预设触发条件时根据预先确定的消息主题集合获得第二事件参数,包括:在满足第一触发条件时执行第一定时任务;其中,所述第一定时任务的执行过程包括:根据所述热点主题集合获得第三事件参数;在满足第二触发条件时执行第二定时任务;其中,所述第二定时任务的执行过程包括:根据所述全量主题集合获得第四事件参数;优选地,所述根据所述热点主题集合获得第三事件参数包括:对于所述热点主题集合中的任一主题,在所述消息存储节点中查询对应于该任一主题的最新消息序号,将该任一主题以及对应于该任一主题的最新消息序号作为一组第三事件参数;所述根据所述全量主题集合获得第四事件参数包括:对于所述全量主题集合中的任一主题,在所述消息存储节点中查询对应于该任一主题的最新消息序号,将该任一主题以及对应于该任一主题的最新消息序号作为一组第四事件参数。5.根据权利要求3或4所述的方法,其特征在于,
所述全量主题集合的预先确定过程包括:接收连接至本推送服务节点的每个客户端发送的该客户端所关注的主题;将所有连接至本推送服务节点的客户端所关注的主题所组成的集合作为所述全量主题集合;所述热点主题集合的预先确定过程包括:步骤S1:通过分布式缓存发布第二新消息生成事件;步骤S2:将所述第二新消息生成事件对应的主题加入初始主题集合;步骤S3:检查所述初始主题集合...
【专利技术属性】
技术研发人员:唐东,王刚,徐恒,钱伟,葛振宇,
申请(专利权)人:苏宁云计算有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。