[发明专利]推送消息的方法和装置有效
申请号: | 201711484970.3 | 申请日: | 2017-12-29 |
公开(公告)号: | CN108173951B | 公开(公告)日: | 2021-05-21 |
发明(设计)人: | 吴晓飞 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种推送消息的方法和装置。该方法包括:新增消息推送过程中的多个状态,其中,多个状态包括表示待推送消息位于数据库的初始状态,表示待推送消息位于前端单元的中间状态,以及表示待推送消息位于客户端的目标状态;在消息推送平台向客户端推送消息的过程中,若客户端与前端单元断开连接,则确定消息推送当前所处的状态;若当前所处的状态为中间状态,则拦截释放前端单元中保存的待推送消息的操作,并等待第一指定时长;以及若在第一指定时长内,客户端与前端单元重新建立连接,则将前端单元中保存的待推送消息推送给客户端。本发明实施例能够保证用户的客户端能够及时、准确地接收到推送的消息。 | ||
搜索关键词: | 推送 消息 方法 装置 | ||
新增消息推送过程中的多个状态,其中,所述多个状态包括表示待推送消息位于所述数据库的初始状态,表示待推送消息位于所述前端单元的中间状态,以及表示待推送消息位于客户端的目标状态;
在所述消息推送平台向客户端推送消息的过程中,若客户端与所述前端单元断开连接,则确定消息推送当前所处的状态;
若当前所处的状态为所述中间状态,则拦截释放所述前端单元中保存的待推送消息的操作,并等待第一指定时长;以及
若在所述第一指定时长内,客户端与所述前端单元重新建立连接,则将所述前端单元中保存的待推送消息推送给客户端。
2.根据权利要求1所述的方法,其中,还包括:若在所述第一指定时长内,客户端与所述前端单元没有重新建立连接,则放行释放所述前端单元中保存的待推送消息的操作,并保存待推送消息至所述数据库,以使得客户端与所述前端单元重新建立连接后,从所述数据库提取待推送消息,并向客户端推送待推送消息。
3.根据权利要求2所述的方法,其中,还包括:客户端与所述前端单元重新建立连接后,等待第二指定时长,之后向所述后端单元发送消息推送请求,从而由所述后端单元根据所述消息推送请求从所述数据库提取相应的待推送消息。
4.根据权利要求1‑3中任一项所述的方法,其中,所述消息推送请求由推送端发起或者由客户端发起。5.根据权利要求4所述的方法,其中,还包括:所述前端单元接收到待推送消息时,生成消息推送列表,从而使得所述前端单元能够根据所述消息推送列表向所述消息推送请求对应的客户端推送待推送消息。
6.根据权利要求5所述的方法,其中,在所述推送端向所述后端单元发起所述消息推送请求后,若所述推送端再次向所述后端单元发起所述消息推送请求,所述方法还包括:确定所述推送端再次向所述后端单元发起所述消息推送请求时,消息推送所处的当前状态;以及
若所述当前状态为所述目标状态,则不将再次发起的所述消息推送请求对应的待推送消息加入到所述消息推送列表。
7.根据权利要求6所述的方法,其中,还包括:若所述当前状态为所述中间状态,则判断所述消息推送列表中是否已存在再次发起的所述消息推送请求对应的待推送消息;以及
若是,则不将再次发起的所述消息推送请求对应的待推送消息加入到所述消息推送列表;
若否,则将再次发起的所述消息推送请求对应的待推送消息加入到所述消息推送列表。
8.根据权利要求1‑7中任一项所述的方法,其中,所述中间状态包括第一状态和第二状态,所述第一状态是指待推送消息已发送到所述前端单元,但是还未向客户端推送;所述第二状态是指待推送消息已向客户端推送,但是还未收到客户端返回的已收到消息的确认。9.根据权利要求1‑8中任一项所述的方法,其中,所述前端单元由多个前端节点构成,在所述第一指定时长内,客户端与所述前端单元重新建立连接时,若重新建立连接的前端节点与上一次建立连接的前端节点不同,则将所述前端单元中保存的待推送消息推送给客户端的步骤进一步包括:由重新建立连接的前端节点从上一次建立连接的前端节点处获取保存的待推送消息,并将获取的待推送消息推送给客户端。
10.一种推送消息的装置,应用于消息推送平台向客户端推送消息的情况,所述消息推送平台包括前端单元、数据库以及后端单元,所述后端单元接收到消息推送请求时,根据所述消息推送请求从所述数据库提取相应的待推送消息,并将待推送消息发送给所述前端单元,由所述前端单元向所述消息推送请求对应的客户端推送待推送消息,所述装置包括:状态新增模块,适于新增消息推送过程中的多个状态,其中,所述多个状态包括表示待推送消息位于所述数据库的初始状态,表示待推送消息位于所述前端单元的中间状态,以及表示待推送消息位于客户端的目标状态;
状态确定模块,适于在所述消息推送平台向客户端推送消息的过程中,若客户端与所述前端单元断开连接,则确定消息推送当前所处的状态;
第一处理模块,适于若当前所处的状态为所述中间状态,则拦截释放所述前端单元中保存的待推送消息的操作,并等待第一指定时长;以及
第二处理模块,适于若在所述第一指定时长内,客户端与所述前端单元重新建立连接,则将所述前端单元中保存的待推送消息推送给客户端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711484970.3/,转载请声明来源钻瓜专利网。