[发明专利]一种本地离线推送的实现方法、装置及系统有效
申请号: | 201510943747.5 | 申请日: | 2015-12-16 |
公开(公告)号: | CN105577762B | 公开(公告)日: | 2018-11-13 |
发明(设计)人: | 徐波 | 申请(专利权)人: | 广州多益网络股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 广州骏思知识产权代理有限公司 44425 | 代理人: | 吴静芝 |
地址: | 510000 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 本地 离线 推送 实现 方法 装置 系统 | ||
1.一种本地离线推送的实现方法,其特征在于:包括以下步骤:
步骤S1:判断用户是否在线;如果用户离线,则执行步骤S4~步骤S6;如果用户在线,则判断推送事件是否发生,如果推送事件不发生,则不执行任何操作;如果推送事件发生,继续执行下一步骤;
步骤S2:接收推送事件并添加至本地缓存中;
步骤S3:继续判断用户是否还在线,如果用户还在线且推送事件继续发生,则返回步骤S2;否则,继续执行下一步骤:
步骤S4:遍历添加至本地缓存中的所有推送事件;
步骤S5:调用引擎接口,通过引擎接口注册所有推送事件;
步骤S6:推送所有推送事件。
2.根据权利要求1所述的方法,其特征在于:
所述步骤S2还包括步骤:
记录并保存每一推送事件的推送剩余时间、及每一推送事件添加至本地缓存时的当前时间;
及所述步骤S4还包括步骤:
记录并保存用户离线时的本地时间;
分别更新并保存每一推送事件的最新推送剩余时间,最新推送剩余时间=推送剩余时间-当前时间-本地时间;
以及所述步骤S6中是根据每一推送事件的最新推送剩余时间分别推送所有推送事件,其具体包括以下步骤:
分别判断每一推送事件的最新推送剩余时间的值是否大于0;如果是,则推送最新推送剩余时间的值大于0的推送事件;否则,删除本地缓存中的最新推送剩余时间的值小于或等于0的推送事件。
3.根据权利要求2所述的方法,其特征在于:所述步骤S6还包括步骤:完成最新推送剩余时间的值大于0的推送事件的推送后,更新所有推送事件的最新推送剩余时间。
4.根据权利要求3所述的方法,其特征在于:所述步骤S2中还记录并保存每一推送事件的推送key。
5.根据权利要求4所述的方法,其特征在于:还包括步骤S7:判断用户离线后是否再次上线;
如果是,则根据推送key删除所有已经注册的推送事件,同时删除本地缓存中最新推送剩余时间的值小于或等于0的推送事件,并返回步骤S1;
如果不是,判断推送事件是否发生,如果不发生,则不执行任何操作;如果发生,则返回步骤S2。
6.一种本地离线推送的装置,其特征在于:包括用户状态判断模块、推送事件判断模块、缓存模块、遍历模块、引擎接口模块、注册模块及推送模块;
所述用户状态判断模块,用于判断用户是否在线,如果判断得到用户在线,则发送一判断指令至推送事件判断模块;如果判断得到用户离线,则发送一遍历指令至所述遍历模块;
所述推送事件判断模块,用于接收所述判断指令后,判断推送事件是否发生,如果判断得到推送事件发生,则发送一接收指令至缓存模块,否则,不执行任何操作;
所述缓存模块,用于接收所述接收指令后,接收并添加由服务器推送的推送事件;
所述遍历模块,用于接收所述遍历指令后,遍历添加至所述缓存模块中的推送事件,并发送一连接指令至引擎接口模块;
所述引擎接口模块,用于接收所述连接指令后,连接所述注册模块和缓存模块,并发送一连接成功指令至注册模块;
所述注册模块,用于接收所述连接成功指令后,调用所述引擎接口模块,并通过引擎接口模块注册所述缓存模块中的所有推送事件,并发送一开始指令至推送模块;
所述推送模块,用于接收到所述开始指令后,推送所有推送事件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州多益网络股份有限公司,未经广州多益网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510943747.5/1.html,转载请声明来源钻瓜专利网。