消息推送方法、装置、电子设备及存储介质.pdf

上传人:小** 文档编号:10345678 上传时间:2021-06-18 格式:PDF 页数:20 大小:820.57KB
收藏 版权申诉 举报 下载
消息推送方法、装置、电子设备及存储介质.pdf_第1页
第1页 / 共20页
消息推送方法、装置、电子设备及存储介质.pdf_第2页
第2页 / 共20页
消息推送方法、装置、电子设备及存储介质.pdf_第3页
第3页 / 共20页
文档描述:

《消息推送方法、装置、电子设备及存储介质.pdf》由会员分享,可在线阅读,更多相关《消息推送方法、装置、电子设备及存储介质.pdf(20页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010378810.6 (22)申请日 2020.05.07 (71)申请人 北京五八信息技术有限公司 地址 100080 北京市海淀区学清路甲18号 中关村东升科技园学院园三层301室 (72)发明人 王立明张鹏飞黄海 (74)专利代理机构 北京润泽恒知识产权代理有 限公司 11319 代理人 吕俊秀 (51)Int.Cl. H04L 29/08(2006.01) (54)发明名称 一种消息推送方法、 装置、 电子设备及存储 介质 (57)摘要 本发明提供了一种消息推送方。

2、法、 装置、 电 子设备及存储介质。 所述方法, 包括: 响应于接收 到的针对客户端的推送任务, 获取用于确定推送 通道的参考信息, 所述参考信息包括所述客户端 的设备信息、 所述推送任务包含的推送消息的消 息类型中的至少一种; 根据所述参考信息获取所 述推送任务的通道配置信息; 根据所述通道配置 信息和每个推送通道的通道状态, 确定所述推送 任务对应的目标推送通道; 通过所述目标推送通 道向所述客户端发送所述推送任务对应的推送 消息。 从而取得了灵活配置推送策略, 减少数据 泄露风险的同时提高推送成功率的有益效果。 权利要求书2页 说明书12页 附图5页 CN 111741058 A 202。

3、0.10.02 CN 111741058 A 1.一种消息推送方法, 其特征在于, 包括: 响应于接收到的针对客户端的推送任务, 获取用于确定推送通道的参考信息, 所述参 考信息包括所述客户端的设备信息、 所述推送任务包含的推送消息的消息类型中的至少一 种; 根据所述参考信息获取所述推送任务的通道配置信息; 根据所述通道配置信息和每个推送通道的通道状态, 确定所述推送任务对应的目标推 送通道; 通过所述目标推送通道向所述客户端发送所述推送任务对应的推送消息。 2.根据权利要求1所述的方法, 其特征在于, 根据所述通道配置信息和每个推送通道的 通道状态, 确定所述推送任务对应的目标推送通道的步骤。

4、, 包括: 根据所述通道配置信息, 获取所述推送任务适用的备选推送通道, 以及各个备选推送 通道的优先级; 根据每个所述备选推送通道的通道状态, 从所述备选推送通道中选择通道状态为健康 可用, 且优先级最高的备选推送通道, 作为所述推送任务对应的目标推送通道。 3.根据权利要求2所述的方法, 其特征在于, 在所述步骤根据所述通道配置信息和每个 推送通道的通道状态, 确定所述推送任务对应的目标推送通道的步骤之前, 还包括: 针对每个所述推送通道, 根据所述推送通道的实时状态信息、 限制条件信息中的至少 一种, 获取所述推送通道的通道状态; 其中, 所述实时状态信息包括推送耗时、 推送失败率、 响。

5、应状态码中的至少一种, 所述 限制条件信息包括推送数量限制、 推送速度限制中的至少一种。 4.根据权利要求3所述的方法, 其特征在于, 所述通道状态包括健康状态和可用状态, 所述根据所述推送通道的实时状态信息、 限制条件信息中的至少一种, 获取所述推送通道 的通道状态的步骤, 包括: 根据所述推送通道的实时状态信息, 获取所述推送通道的健康状态; 根据所述推送通道的限制条件信息, 获取所述推送通道的可用状态。 5.根据权利要求1-4中任一项所述的方法, 其特征在于, 所述方法还包括: 响应于根据所述通道配置信息和每个推送通道的通道状态, 未确定所述推送任务对应 的目标推送通道, 将所述推送消息。

6、存放至容灾消息队列; 响应于在所述推送任务的处理期限内, 确定所述推送任务对应的目标推送通道, 通过 所述目标推送通道发送所述容灾消息队列中的所述推送消息。 6.一种消息推送装置, 其特征在于, 包括: 参考信息获取模块, 用于响应于接收到的针对客户端的推送任务, 获取用于确定推送 通道的参考信息, 所述参考信息包括所述客户端的设备信息、 所述推送任务包含的推送消 息的消息类型中的至少一种; 配置信息获取模块, 用于根据所述参考信息获取所述推送任务的通道配置信息; 推送通道确认模块, 用于根据所述通道配置信息和每个推送通道的通道状态, 确定所 述推送任务对应的目标推送通道; 第一消息推送模块,。

7、 用于通过所述目标推送通道向所述客户端发送所述推送任务对应 的推送消息。 权利要求书 1/2 页 2 CN 111741058 A 2 7.根据权利要求6所述的装置, 其特征在于, 所述推送通道确认模块, 包括: 优先级获取子模块, 用于根据所述通道配置信息, 获取所述推送任务适用的备选推送 通道, 以及各个备选推送通道的优先级; 推送通道确认子模块, 用于根据每个所述备选推送通道的通道状态, 从所述备选推送 通道中选择通道状态为健康可用, 且优先级最高的备选推送通道, 作为所述推送任务对应 的目标推送通道。 8.根据权利要求7所述的装置, 其特征在于, 所述装置还包括: 通道状态获取模块, 。

8、用于针对每个所述推送通道, 根据所述推送通道的实时状态信息、 限制条件信息中的至少一种, 获取所述推送通道的通道状态; 其中, 所述实时状态信息包括推送耗时、 推送失败率、 响应状态码中的至少一种, 所述 限制条件信息包括推送数量限制、 推送速度限制中的至少一种。 9.根据权利要求8所述的装置, 其特征在于, 所述通道状态获取模块, 包括: 健康状态获取子模块, 用于根据所述推送通道的实时状态信息, 获取所述推送通道的 健康状态; 可用状态获取子模块, 用于根据所述推送通道的限制条件信息, 获取所述推送通道的 可用状态。 10.根据权利要求6-9中任一项所述的装置, 其特征在于, 所述装置还包。

9、括: 容灾处理模块, 用于响应于根据所述通道配置信息和每个推送通道的通道状态, 未确 定所述推送任务对应的目标推送通道, 将所述推送消息存放至容灾消息队列; 第二消息推送模块, 用于响应于在所述推送任务的处理期限内, 确定所述推送任务对 应的目标推送通道, 通过所述目标推送通道发送所述容灾消息队列中的所述推送消息。 11.一种电子设备, 其特征在于, 包括: 存储器、 处理器及存储在所述存储器上并可在所 述处理器上运行的计算机程序, 所述计算机程序被所述处理器执行时实现如权利要求1至5 中任一项所述的消息推送方法的步骤。 12.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质上存。

10、储有计算机 程序, 所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的消息推送方法 的步骤。 权利要求书 2/2 页 3 CN 111741058 A 3 一种消息推送方法、 装置、 电子设备及存储介质 技术领域 0001 本发明涉及计算机技术领域, 尤其涉及一种消息推送方法、 装置、 电子设备及存储 介质。 背景技术 0002 在移动为先的时代, 消息推送对增加用户粘性、 提高产品活跃度、 唤醒沉睡用户、 提高留存率, 有非常重要的作用。 在安卓平台, 由于谷歌的推送通道(GCM/FCM)在国内基本 不可用, 消息主要通过两种通道进行下发: 1、 应用自建长连接通道, 2、 厂商。

11、或第三方通道。 0003 出于节省资源和减少耗电方面的考虑, 手机、 电脑等电子设备的操作系统会对处 于后台状态的应用进行清理, 因此通过应用自建的长连接通道推送消息时, 在应用处于后 台时消息到达率较低。 而各大厂商提供了厂商推送通道, 可以在该厂商品牌的电子设备中 常驻, 不会被清理。 因此对不同品牌的电子设备, 使用其对应的厂商通道的消息到达率较 高。 但是为了使用厂商推送通道, 首先需要客户端接入带有此功能的SDK(Software Development Kit, 软件开发工具包), 接入之后各大厂商推送通道所生成的设备信息直接 上报至第三方推送通道的服务器, 第三方推送通道会建立起。

12、相应的绑定关系。 在进行推送 时, 向第三方推送通道的服务器发起请求, 第三方推送通道会针对不同品牌使用不同的厂 商通道进行推送。 但是, 上述方式每个第三方推送通道的服务器都可以直接获得活跃设备 等数据, 容易增加推送消息的泄露风险, 而且目前第三方只能提供通用的推送策略, 推送策 略不可控, 另外由于消息在数据流上经过了第三方转发, 因而会出现成功推送消息量上面 的折损。 发明内容 0004 本发明实施例提供一种消息推送方法、 装置、 电子设备及存储介质, 以解决现有的 消息推送方法泄露风险较高, 推送成功率较低, 且推送策略不可控的问题。 0005 为了解决上述技术问题, 本发明是这样实。

13、现的: 0006 第一方面, 本发明实施例提供了一种消息推送方法, 包括: 0007 响应于接收到的针对客户端的推送任务, 获取用于确定推送通道的参考信息, 所 述参考信息包括所述客户端的设备信息、 所述推送任务包含的推送消息的消息类型中的至 少一种; 0008 根据所述参考信息获取所述推送任务的通道配置信息; 0009 根据所述通道配置信息和每个推送通道的通道状态, 确定所述推送任务对应的目 标推送通道; 0010 通过所述目标推送通道向所述客户端发送所述推送任务对应的推送消息。 0011 可选地, 根据所述通道配置信息和每个推送通道的通道状态, 确定所述推送任务 对应的目标推送通道的步骤,。

14、 包括: 0012 根据所述通道配置信息, 获取所述推送任务适用的备选推送通道, 以及各个备选 说明书 1/12 页 4 CN 111741058 A 4 推送通道的优先级; 0013 根据每个所述备选推送通道的通道状态, 从所述备选推送通道中选择通道状态为 健康可用, 且优先级最高的备选推送通道, 作为所述推送任务对应的目标推送通道。 0014 可选地, 在所述步骤根据所述通道配置信息和每个推送通道的通道状态, 确定所 述推送任务对应的目标推送通道的步骤之前, 还包括: 0015 针对每个所述推送通道, 根据所述推送通道的实时状态信息、 限制条件信息中的 至少一种, 获取所述推送通道的通道状。

15、态; 0016 其中, 所述实时状态信息包括推送耗时、 推送失败率、 响应状态码中的至少一种, 所述限制条件信息包括推送数量限制、 推送速度限制中的至少一种。 0017 可选地, 所述通道状态包括健康状态和可用状态, 所述根据所述推送通道的实时 状态信息、 限制条件信息中的至少一种, 获取所述推送通道的通道状态的步骤, 包括: 0018 根据所述推送通道的实时状态信息, 获取所述推送通道的健康状态; 0019 根据所述推送通道的限制条件信息, 获取所述推送通道的可用状态。 0020 可选地, 所述方法还包括: 0021 响应于根据所述通道配置信息和每个推送通道的通道状态, 未确定所述推送任务 。

16、对应的目标推送通道, 将所述推送消息存放至容灾消息队列; 0022 响应于在所述推送任务的处理期限内, 确定所述推送任务对应的目标推送通道, 通过所述目标推送通道发送所述容灾消息队列中的所述推送消息。 0023 第二方面, 本发明实施例提供了一种消息推送装置, 包括: 0024 参考信息获取模块, 用于响应于接收到的针对客户端的推送任务, 获取用于确定 推送通道的参考信息, 所述参考信息包括所述客户端的设备信息、 所述推送任务包含的推 送消息的消息类型中的至少一种; 0025 配置信息获取模块, 用于根据所述参考信息获取所述推送任务的通道配置信息; 0026 推送通道确认模块, 用于根据所述通。

17、道配置信息和每个推送通道的通道状态, 确 定所述推送任务对应的目标推送通道; 0027 第一消息推送模块, 用于通过所述目标推送通道向所述客户端发送所述推送任务 对应的推送消息。 0028 可选地, 所述推送通道确认模块, 包括: 0029 优先级获取子模块, 用于根据所述通道配置信息, 获取所述推送任务适用的备选 推送通道, 以及各个备选推送通道的优先级; 0030 推送通道确认子模块, 用于根据每个所述备选推送通道的通道状态, 从所述备选 推送通道中选择通道状态为健康可用, 且优先级最高的备选推送通道, 作为所述推送任务 对应的目标推送通道。 0031 可选地, 所述装置还包括: 0032。

18、 通道状态获取模块, 用于针对每个所述推送通道, 根据所述推送通道的实时状态 信息、 限制条件信息中的至少一种, 获取所述推送通道的通道状态; 0033 其中, 所述实时状态信息包括推送耗时、 推送失败率、 响应状态码中的至少一种, 所述限制条件信息包括推送数量限制、 推送速度限制中的至少一种。 0034 可选地, 所述通道状态获取模块, 包括: 说明书 2/12 页 5 CN 111741058 A 5 0035 健康状态获取子模块, 用于根据所述推送通道的实时状态信息, 获取所述推送通 道的健康状态; 0036 可用状态获取子模块, 用于根据所述推送通道的限制条件信息, 获取所述推送通 道。

19、的可用状态。 0037 可选地, 所述装置还包括: 0038 容灾处理模块, 用于响应于根据所述通道配置信息和每个推送通道的通道状态, 未确定所述推送任务对应的目标推送通道, 将所述推送消息存放至容灾消息队列; 0039 第二消息推送模块, 用于响应于在所述推送任务的处理期限内, 确定所述推送任 务对应的目标推送通道, 通过所述目标推送通道发送所述容灾消息队列中的所述推送消 息。 0040 第三方面, 本发明实施例另外提供了一种电子设备, 包括: 存储器、 处理器及存储 在所述存储器上并可在所述处理器上运行的计算机程序, 所述计算机程序被所述处理器执 行时实现如第一方面所述的消息推送方法的步骤。

20、。 0041 第四方面, 本发明实施例另外提供了一种计算机可读存储介质, 其特征在于, 所述 计算机可读存储介质上存储有计算机程序, 所述计算机程序被处理器执行时实现如第一方 面所述的消息推送方法的步骤。 0042 在本发明实施例中, 通过根据推送通道的状态, 通过配置的通道配置信息, 灵活选 取合适的推送通道进行消息推送, 从而取得了灵活配置推送策略, 减少数据泄露风险的同 时提高推送成功率的有益效果。 0043 上述说明仅是本发明技术方案的概述, 为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予以实施, 并且为了让本发明的上述和其它目的、 特征和优点能够 更明显易懂, 以下特举。

21、本发明的具体实施方式。 附图说明 0044 为了更清楚地说明本发明实施例的技术方案, 下面将对本发明实施例的描述中所 需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施 例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获 得其他的附图。 0045 图1是本发明实施例中的一种消息推送方法的步骤流程图; 0046 图2是本发明实施例中的另一种消息推送方法的步骤流程图; 0047 图3是本发明实施例中的一种推送服务器的推送流程示意图; 0048 图4是本发明实施例中的一种消息推送装置的结构示意图; 0049 图5是本发明实施例中的另。

22、一种消息推送装置的结构示意图; 0050 图6是本发明实施例中的一种电子设备的硬件结构示意图。 具体实施方式 0051 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于本发 明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施 说明书 3/12 页 6 CN 111741058 A 6 例, 都属于本发明保护的范围。 0052 参照图1, 示出了本发明实施例中一种消息推送方法的步骤流程图。 0053 步骤110, 响应于接收到的针对客户端的推送任务, 获取。

23、用于确定推送通道的参考 信息, 所述参考信息包括所述客户端的设备信息、 所述推送任务包含的推送消息的消息类 型中的至少一种。 0054 在本发明实施例中, 为了能够针对不同的设备和不同的消息采用合适的推送通 道, 在接收到针对客户端的推送任务之后, 为了确定当前的推送任务的推送通道, 可以获取 其参考信息。 其中的参考信息包括所述客户端的设备信息、 所述推送任务包含的推送消息 的消息类型中的至少一种。 0055 客户端的设备信息可以包括但不限于设备品牌、 设备名称、 设备型号、 设备版本、 推送任务对应的APP(Application, 应用程序)名称, 等等。 消息类型的划分方式可以根据需 。

24、求进行自定义设置, 对此本发明实施例不加以限定。 例如, 可以根据推送消息包含的内容设 置消息类型包括文本消息类型、 语音消息类型、 表情符号消息类型, 或者可以根据推送消息 的推送目的设置消息类型包括服务器统一下发的推广消息类型、 客户端请求的个性化推广 消息类型, 等等。 0056 在本发明实施例中, 可以通过任何可用方式获取参考信息, 对此本发明实施例不 加以限定。 例如, 可以整合各大厂商推送服务的SDK(Software Development Kit, 软件开发 工具包), 通过集成该SDK则可以自动将获取得到的参考信息上传至用以执行本方案的服务 器。 0057 在集成了多个厂商的。

25、SDK后, 每个设备所能上传的设备信息并不相同。 因此参考信 息具体包含的内容也可以有所不同。 而且, 对于同一品牌的客户端而言, 较低版本的客户端 可能是不支持厂商推送通道的, 这是就需要使用其他通道进行推送。 因此客户端的设备版 本不同也可能会影响通道配置。 0058 步骤120, 根据所述参考信息获取所述推送任务的通道配置信息。 0059 在获取得到参考信息之后, 则可以进一步根据参考信息获取针对相应客户端的推 送任务的通道配置信息。 0060 如上述, 本方案的目的在于通过预先配置的通道配置信息, 灵活选取合适的推送 通道。 因此, 在本发明实施例中, 可以针对不同的设备信息、 消息类。

26、型等参考信息预先设置 相应的通道配置信息。 在通道配置信息中可以包括参考信息对应的可用的推送通道, 各个 推送通道的优先级, 等等与通道相关的信息。 0061 步骤130, 根据所述通道配置信息和每个推送通道的通道状态, 确定所述推送任务 对应的目标推送通道。 0062 在获取得到当前针对客户端的推送任务的通道配置信息之后, 则可以获取该推送 任务可用的推送通道, 进而则可以根据每个推送通道的通道状态, 确定所述推送任务对应 的目标推送通道。 0063 在实际应用中, 推送通道在使用过程中可能会发生故障, 或者超出其推送限制等, 从而导致推送通道的通道状态会发生变化。 只有在通道无故障且未超出。

27、自身推送限制的情 况其才可用。 因此, 则可以根据每个推送通道的通道状态, 从推送任务可以选用的推送通道 中确定用以执行推送任务的目标推送通道。 此时, 目标推送通道必然是可用的推送通道。 说明书 4/12 页 7 CN 111741058 A 7 0064 例如, 可以根据所述通道配置信息和每个推送通道的通道状态, 从推送任务可以 选用的推送通道中选择当前可用的推送通道作为目标推送通道, 而且如果从推送任务可以 选用的推送通道中存在多个当前可用的推送通道, 那么则可以从相应地多个当前可用的推 送通道中任选一个作为目标推送通道, 或者也可以预先在通道配置信息中设置每个推送通 道的优先级, 那么。

28、则可以从推送任务可以选用的推送通道中选择当前可用且优先级最高的 推送通道作为推送任务的目标推送通道, 等等。 0065 步骤140, 通过所述目标推送通道向所述客户端发送所述推送任务对应的推送消 息。 0066 在获取得到推送任务的目标推送通道之后, 则可以进一步通过目标推送通道向客 户端发送推送任务对应的推送消息。 0067 而且, 如果推送任务中包含多条推送消息, 则每条推送消息对应的目标推送通道 并不完全相同, 那么则可以推送消息为单位, 针对推送任务中的每条推送消息, 以该推送消 息对应的目标推送通道向客户端推送相应的推送消息。 0068 在本发明实施例中, 通过根据推送通道的状态, 。

29、通过配置的通道配置信息, 灵活选 取合适的推送通道进行消息推送, 从而取得了灵活配置推送策略, 减少数据泄露风险的同 时提高推送成功率的有益效果。 0069 参照图2, 在本发明实施例中, 所述步骤130进一步可以包括: 0070 步骤131, 根据所述通道配置信息, 获取所述推送任务适用的备选推送通道, 以及 各个备选推送通道的优先级; 0071 步骤132, 根据每个所述备选推送通道的通道状态, 从所述备选推送通道中选择通 道状态为健康可用, 且优先级最高的备选推送通道, 作为所述推送任务对应的目标推送通 道。 0072 如上述, 在本发明实施例中, 可以根据APP名称、 消息类型、 设备。

30、品牌、 设备名称等, 设置不同的通道配置信息。 通道配置信息中可以包括适用的推送通道, 各个推送通道的优 先级、 使用比例等。 例如, 针对任一设备可以在通道配置信息中配置的通道分别为: 华为推 送通道、 小米推送通道、 自建推送通道, 且各个推送通道的优先级从前向后依次降低。 那么 推送时会按照优先级的不同进行推送。 0073 因此, 在获取得到推送任务对应的通道配置信息之后, 则可以根据所述通道配置 信息, 获取所述推送任务适用的备选推送通道, 以及各个备选推送通道的优先级。 进而则可 以根据每个所述备选推送通道的通道状态, 从所述备选推送通道中选择通道状态为健康可 用, 且优先级最高的备。

31、选推送通道, 作为所述推送任务对应的目标推送通道。 0074 具体地, 可以按照各个备选推送通道的优先级从高到低的顺序, 依次判断每个备 选推送通道的通道状态是否为可用, 直至获取得到通道状态为可用的备选推送通道作为目 标推送通道, 或者直至优先级最低的备选推送通道。 0075 例如, 首先根据通道配置信息, 找出该推送任务支持(也即适用)的通道。 然后检查 其所支持的各个备选推送通道的通道状态。 最后根据通道配置信息中各个推送通道的优先 级, 排列组合出合适的通道。 如果当前第一优先级的通道处于故障或超出推送限制条件等 不可用的状态, 则选择第二优先级通道, 依此类推, 以选择目标推送通道。。

32、 0076 参照图2, 在本发明实施例中, 在所述步骤130之前, 还可以包括: 说明书 5/12 页 8 CN 111741058 A 8 0077 步骤150, 针对每个所述推送通道, 根据所述推送通道的实时状态信息、 限制条件 信息中的至少一种, 获取所述推送通道的通道状态; 其中, 所述实时状态信息包括推送耗 时、 推送失败率、 响应状态码中的至少一种, 限制条件信息包括推送数量限制、 推送速度限 制中的至少一种。 0078 在本发明实施例中, 对每个推送通道, 可以根据其当前的推送耗时、 推送失败率、 响应状态码等实时状态信息, 和/或, 推送数量限制、 推送速度限制等限制条件信息监。

33、测其 通道状态。 当发现通道状态改变时, 可以更改channel status(通道状态)。 其中, 响应状态 码为推送消息时表征响应状态的标识码, 响应状态可以包括推送成功、 推送失败, 等等。 0079 而且, 通道状态与推送通道的实时状态信息、 限制条件信息的对应关系可以根据 需求进行自定义设置, 对此本发明实施例不加以限定。 0080 例如, 可以设置多种通道状态类型, 且分别设置每种通道状态类型对应需要满足 的条件, 那么则可以根据推送通道的实时状态信息、 限制条件信息中的至少一种, 判断其满 足的条件, 进而则可以其满足的条件对应的通道状态类型即为相应推送通道的通道状态。 0081。

34、 可选地, 在本发明实施例中, 所述通道状态包括健康状态和可用状态, 所述步骤 150进一步可以包括: 0082 步骤151, 根据所述推送通道的实时状态信息, 获取所述推送通道的健康状态; 0083 步骤152, 根据所述推送通道的限制条件信息, 获取所述推送通道的可用状态。 0084 如上述, 在实际应用中, 推送通道可能出现故障, 或者是存在一定限制, 因此相应 地通道状态可以包括但不限于健康状态、 可用状态中的至少一种, 其中, 健康状态指的是当 前厂商通道是否有诸如超时、 服务宕机等故障, 如果无故障即为健康。 而且判断通道是否发 生故障以及故障是否恢复, 有一系列的判断条件, 具体。

35、的判断条件可以根据需求进行自定 义设置, 对此本发明实施例不加以限定。 例如, 可以设置判断条件包括在连续的预设时间段 内, 推送超时的消息数量超过预设数量或推送超时的比例超过预设比例, 如果满足判断条 件则认为相应推送通道发生故障, 否则可以认为相应推送通道未发生故障或者故障已恢 复。 那么如果通道的实时状态信息符合判断条件则可以认为通道的健康状态为存在故障, 否则可以认为通道的健康状态为健康, 即无故障。 0085 可用状态指的是推送通道是否允许使用以完成推送。 例如, 一些厂商会对其推送 通道每日的推送总量、 推送速度等进行限制, 设置推送通道的限制条件信息, 那么则可以根 据限制条件信。

36、息判断推送通道是否以到达其限制条件, 进而得到推送通道的可用状态, 如 果推送通道尚未达到其限制条件, 那么相应推送通道的可用状态即为可用, 而如果推送通 道以达到其限制条件, 那么相应推送通道的可用状态即为不可用。 而且不同APP的限制(也 即限制条件信息)可以是不同的, 因此对于不同的APP, 同一推送通道的通道状态也可以是 不尽相同的。 0086 如果通道状态包含了健康状态和可用状态, 那么只有在通道是健康并且可用的状 态下, 才会使用该通道进行推送, 否则可以降级使用低优先级的推送通道或者进行容灾处 理。 如果通道状态仅仅包含了健康状态或者可用状态, 那么此时只有在通道是健康或者可 用。

37、的状态下, 才会使用该通道进行推送; 等等。 0087 参照图2, 在本发明实施例中, 所述方法还包括: 0088 步骤160, 响应于根据所述通道配置信息和每个推送通道的通道状态, 未确定所述 说明书 6/12 页 9 CN 111741058 A 9 推送任务对应的目标推送通道, 将所述推送消息存放至容灾消息队列。 0089 步骤170, 响应于在所述推送任务的处理期限内, 确定所述推送任务对应的目标推 送通道, 通过所述目标推送通道发送所述容灾消息队列中的所述推送消息。 0090 如上述, 在实际应用中, 推送通道可能出现故障或者是达到其上限导致暂时不可 用, 而且可能出现同一推送任务适。

38、用的多个推送通道都不是健康且可用的, 那么此时则无 法确定用以执行相应推送任务的目标推送通道, 也即无可用的推送通道。 此时, 为了避免推 送任务执行失败影响推送准确性, 可以将推送消息放入预设的容灾消息队列, 做暂存处理。 0091 而且还可以周期性地对各个推送通道进行探测, 当重新确定相应推送任务的目标 推送通道, 且推送任务对应的推送消息存放至容灾消息队列的时间未超出相应推送任务的 处理期限, 也即如果在所述推送任务的处理期限内, 确定所述推送任务对应的目标推送通 道, 那么则可以通过此时获取的目标推送通道进行推送, 从而实现了柔性可降级的功能。 而 如果此时已超过处理期限, 则可以不再。

39、针对相应的推送任务的推送消息进行推送, 另外还 可以记录相应推送任务的日志并进行统计, 以便后续操作。 0092 另外, 在本发明实施例中, 可以预先设置多个容灾消息队列, 且每个容灾消息队列 对应一个或多个不同的推送通道, 那么在将推送消息放入容灾消息队列时, 可以根据其适 用的推送通道的不同, 放入不同的容灾消息队列中。 0093 以安卓(Android)操作系统为例, 如图3所述为一种用以执行本方案的推送服务器 (Android Push Service)的推送流程图。 推送服务使用消息队列构建, 将推送任务对应的 推送消息存放至消息队列, 在从消息队列接收到推送消息之后, 会根据当前通。

40、道状态 (channel status)、 通道配置(channel config)信息、 设备信息(device info), 由决策路 由模块(router)选择出合适的目标推送通道进行消息推送。 此时, 通道配置信息中包含了 推送任务适用的备选推送通道, 例如图示的华为厂商通道、 小米厂商通道、 自建/第三方通 道, 等等。 0094 在本发明实施例中, 通过实时监测各个推送通道的健康状态和可用状态提高通道 状态的准确性, 进而提高目标推送通道的准确性, 以提高推送成功率; 而且, 还可以根据通 道配置信息、 通道状态、 参考信息等内容, 按照优先级选择出合适的通道, 实现了对故障或 不。

41、可用通道的降级, 提高了推送成功率; 另外, 对于无法通过降级处理的消息, 通过容灾消 息队列暂存消息, 待通道恢复正常后, 继续推送, 可以进一步提高推送成功率。 0095 参照图4, 示出了本发明实施例中一种消息推送装置的结构示意图。 0096 本发明实施例的消息推送装置包括: 参考信息获取模块210、 配置信息获取模块 220、 推送通道确认模块230和第一消息推送模块240。 0097 下面分别详细介绍各模块的功能以及各模块之间的交互关系。 0098 参考信息获取模块210, 用于响应于接收到的针对客户端的推送任务, 获取用于确 定推送通道的参考信息, 所述参考信息包括所述客户端的设备。

42、信息、 所述推送任务包含的 推送消息的消息类型中的至少一种; 0099 配置信息获取模块220, 用于根据所述参考信息获取所述推送任务的通道配置信 息; 0100 推送通道确认模块230, 用于根据所述通道配置信息和每个推送通道的通道状态, 确定所述推送任务对应的目标推送通道; 说明书 7/12 页 10 CN 111741058 A 10 0101 第一消息推送模块240, 用于通过所述目标推送通道向所述客户端发送所述推送 任务对应的推送消息。 0102 在本发明实施例中, 通过根据推送通道的状态, 通过配置的通道配置信息, 灵活选 取合适的推送通道进行消息推送, 从而取得了灵活配置推送策略。

43、, 减少数据泄露风险的同 时提高推送成功率的有益效果。 0103 参照图5, 在本发明实施例中, 所述所述推送通道确认模块230, 进一步可以包括: 0104 优先级获取子模块231, 用于根据所述通道配置信息, 获取所述推送任务适用的备 选推送通道, 以及各个备选推送通道的优先级; 0105 推送通道确认子模块232, 用于根据每个所述备选推送通道的通道状态, 从所述备 选推送通道中选择通道状态为健康可用, 且优先级最高的备选推送通道, 作为所述推送任 务对应的目标推送通道。 0106 参照图5, 在本发明实施例中, 所述装置还可以包括: 0107 通道状态获取模块250, 用于针对每个所述。

44、推送通道, 根据所述推送通道的实时状 态信息、 限制条件信息中的至少一种, 获取所述推送通道的通道状态; 其中, 所述实时状态 信息包括推送耗时、 推送失败率、 响应状态码中的至少一种, 所述限制条件信息包括推送数 量限制、 推送速度限制中的至少一种。 0108 可选地, 在本发明实施例中, 所述通道状态获取模块250, 进一步可以包括: 0109 健康状态获取子模块, 用于根据所述推送通道的实时状态信息, 获取所述推送通 道的健康状态; 0110 可用状态获取子模块, 用于根据所述推送通道的限制条件信息, 获取所述推送通 道的可用状态。 0111 参照图5, 在本发明实施例中, 所述装置还可。

45、以包括: 0112 容灾处理模块260, 用于响应于根据所述通道配置信息和每个推送通道的通道状 态, 未确定所述推送任务对应的目标推送通道, 将所述推送消息存放至容灾消息队列; 0113 第二消息推送模块270, 用于响应于在所述推送任务的处理期限内, 确定所述推送 任务对应的目标推送通道, 通过所述目标推送通道发送所述容灾消息队列中的所述推送消 息。 0114 在本发明实施例中, 通过实时监测各个推送通道的健康状态和可用状态提高通道 状态的准确性, 进而提高目标推送通道的准确性, 以提高推送成功率; 而且, 还可以根据通 道配置信息、 通道状态、 参考信息等内容, 按照优先级选择出合适的通道。

46、, 实现了对故障或 不可用通道的降级, 提高了推送成功率; 另外, 对于无法通过降级处理的消息, 通过容灾消 息队列暂存消息, 待通道恢复正常后, 继续推送, 可以进一步提高推送成功率。 0115 本发明实施例提供的消息推送装置能够实现图1至图2的方法实施例中实现的各 个过程, 为避免重复, 这里不再赘述。 0116 优选的, 本发明实施例还提供了一种电子设备, 包括: 处理器, 存储器, 存储在存储 器上并可在处理器上运行的计算机程序, 该计算机程序被处理器执行时实现上述消息推送 方法实施例的各个过程, 且能达到相同的技术效果, 为避免重复, 这里不再赘述。 0117 本发明实施例还提供了一。

47、种计算机可读存储介质, 计算机可读存储介质上存储有 计算机程序, 计算机程序被处理器执行时实现上述消息推送方法实施例的各个过程, 且能 说明书 8/12 页 11 CN 111741058 A 11 达到相同的技术效果, 为避免重复, 这里不再赘述。 其中, 所述的计算机可读存储介质, 如只 读存储器(Read-Only Memory, 简称ROM)、 随机存取存储器(Random Access Memory, 简称 RAM)、 磁碟或者光盘等。 0118 图6为实现本发明各个实施例的一种电子设备的硬件结构示意图。 0119 该电子设备500包括但不限于: 射频单元501、 网络模块502、 。

48、音频输出单元503、 输 入单元504、 传感器505、 显示单元506、 用户输入单元507、 接口单元508、 存储器509、 处理器 510、 以及电源511等部件。 本领域技术人员可以理解, 图6中示出的电子设备结构并不构成 对电子设备的限定, 电子设备可以包括比图示更多或更少的部件, 或者组合某些部件, 或者 不同的部件布置。 在本发明实施例中, 电子设备包括但不限于手机、 平板电脑、 笔记本电脑、 掌上电脑、 车载终端、 可穿戴设备、 以及计步器等。 0120 应理解的是, 本发明实施例中, 射频单元501可用于收发信息或通话过程中, 信号 的接收和发送, 具体的, 将来自基站的下。

49、行数据接收后, 给处理器510处理; 另外, 将上行的 数据发送给基站。 通常, 射频单元501包括但不限于天线、 至少一个放大器、 收发信机、 耦合 器、 低噪声放大器、 双工器等。 此外, 射频单元501还可以通过无线通信系统与网络和其他设 备通信。 0121 电子设备通过网络模块502为用户提供了无线的宽带互联网访问, 如帮助用户收 发电子邮件、 浏览网页和访问流式媒体等。 0122 音频输出单元503可以将射频单元501或网络模块502接收的或者在存储器509中 存储的音频数据转换成音频信号并且输出为声音。 而且, 音频输出单元503还可以提供与电 子设备500执行的特定功能相关的音频。

50、输出(例如, 呼叫信号接收声音、 消息接收声音等 等)。 音频输出单元503包括扬声器、 蜂鸣器以及受话器等。 0123 输入单元504用于接收音频或视频信号。 输入单元504可以包括图形处理器 (Graphics Processing Unit, GPU)5041和麦克风5042, 图形处理器5041对在视频捕获模式 或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处 理。 处理后的图像帧可以显示在显示单元506上。 经图形处理器5041处理后的图像帧可以存 储在存储器509(或其它存储介质)中或者经由射频单元501或网络模块502进行发送。 麦克 风5042可以。

展开阅读全文
内容关键字: 消息 推送 方法 装置 电子设备 存储 介质
关于本文
本文标题:消息推送方法、装置、电子设备及存储介质.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/10345678.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1