推送链路的故障检测方法、装置、电子设备及存储介质制造方法及图纸

技术编号:34971326 阅读:48 留言:0更新日期:2022-09-21 14:11
本申请提供了一种推送链路的故障检测方法、装置、电子设备及计算机可读存储介质;方法包括:通过推送链路向第一终端发送第一消息,所述推送链路包括多个节点;响应于所述第一消息超时未到达所述第一终端,确定所述推送链路中与所述多个节点分别对应的多个消息路径;其中,每个消息路径是用于检测对应的节点是否是故障节点;根据所述多个节点在所述推送链路中的顺序,依次检测所述多个节点分别对应的消息路径中的至少部分消息路径,以确定所述推送链路中的故障节点。通过本申请,能够以自动化方式准确和高效检测推送链路的故障节点。式准确和高效检测推送链路的故障节点。式准确和高效检测推送链路的故障节点。

【技术实现步骤摘要】
推送链路的故障检测方法、装置、电子设备及存储介质


[0001]本申请涉及互联网技术,尤其涉及一种推送链路的故障检测方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]消息推送(Push)功能作为终端中安装的应用程序(APP,Application)最重要的运营手段之一,被越来越多的应用开发商所重视。在信息泛滥的互联网时代,消息推送功能是运营最优质的渠道,运用得当可以帮助产品运营人员更高效地实现运营目标。
[0003]消息推送的原理是通过终端上已安装的APP所对应的服务器将要发送的消息和发送的目标终端推送给部署在另一个服务器的Push服务,Push服务根据安装过该APP的终端列表中找到目标终端进行消息的下发,可以实现对不同平台的一台或多台终端同时进行消息下发。
[0004]由上可知,实现消息推送的推送链路中的节点较多,当推送链路出现故障导致终端无法收到推送的消息时,相关技术通常是通过人工排查方式检测推送链路中的故障节点,如此,将会导致检测效率和准确性较低,对此,相关技术尚无有效解决方案。

技术实现思路

[0005]本申请实施例提供一种推送链路的故障检测方法、装置、电子设备及计算机可读存储介质,能够以自动化方式准确和高效检测推送链路的故障节点。
[0006]本申请实施例的技术方案是这样实现的:
[0007]本申请实施例提供一种推送链路的故障检测方法,包括:
[0008]通过推送链路向第一终端发送第一消息,所述推送链路包括多个节点;
[0009]响应于所述第一消息超时未到达所述第一终端,确定所述推送链路中与所述多个节点分别对应的多个消息路径;
[0010]其中,每个消息路径是用于检测对应的节点是否是故障节点;
[0011]根据所述多个节点在所述推送链路中的顺序,依次检测所述多个节点分别对应的消息路径中的至少部分消息路径,以确定所述推送链路中的故障节点。
[0012]在上述方案中,根据所述多个节点在所述推送链路中的顺序,依次检测所述多个节点分别对应的消息路径中的至少部分消息路径,包括:
[0013]当按照第二顺序检测到所述推送链路中位于第三方推送服务器之前的节点均不是故障节点时,执行以下处理以检测所述第三方推送服务器对应的消息路径:
[0014]控制第二终端通过应用服务器向所述第三方推送服务器发送第八消息;
[0015]当所述第三方推送服务器接收到所述第八消息时,确定所述第三方推送服务器对应的消息路径不是故障路径;
[0016]当所述第三方推送服务器未接收到所述第八消息时,确定所述第三方推送服务器对应的消息路径是故障路径。
[0017]在上述方案中,根据所述多个节点在所述推送链路中的顺序,依次检测所述多个节点分别对应的消息路径中的至少部分消息路径,包括:
[0018]当按照第二顺序检测到所述推送链路中位于原生推送服务器之前的节点均不是故障节点时,执行以下处理以检测所述原生推送服务器对应的消息路径:
[0019]控制第二终端通过应用服务器向第三方推送服务器发送第九消息、以及对应所述第一终端的推送令牌,以使
[0020]所述第三方推送服务器查找与所述推送令牌之间存在映射关系的设备令牌,并将所述设备令牌和所述第九消息发送至所述原生推送服务器;
[0021]当所述原生推送服务器接收到所述第九消息和所述设备令牌时,确定所述原生推送服务器对应的消息路径不是故障路径;
[0022]当所述原生推送服务器未接收到所述第九消息和所述设备令牌时,确定所述原生推送服务器对应的消息路径是故障路径。
[0023]在上述方案中,根据所述多个节点在所述推送链路中的顺序,依次检测所述多个节点分别对应的消息路径中的至少部分消息路径,包括:
[0024]当按照第二顺序检测到所述推送链路中位于所述第一终端之前的节点均不是故障节点时,执行以下处理以检测所述第一终端对应的消息路径:
[0025]控制第二终端通过应用服务器向第三方推送服务器发送第十消息、以及对应所述第一终端的推送令牌,以使
[0026]所述第三方推送服务器查找与所述推送令牌之间存在映射关系的设备令牌,并将所述设备令牌和所述第十消息发送至原生推送服务器,以使
[0027]所述原生推送服务器基于所述设备令牌,将所述第十消息发送至所述第一终端;
[0028]当所述第一终端接收到所述第十消息时,确定所述第一终端对应的消息路径不是故障路径;
[0029]当所述第一终端未接收到所述第十消息时,确定所述第一终端对应的消息路径是故障路径。
[0030]在上述方案中,根据所述多个节点在所述推送链路中的顺序,依次检测所述多个节点分别对应的消息路径中的至少部分消息路径,包括:
[0031]当按照第二顺序检测到所述推送链路中位于所述第一终端之前的节点均不是故障节点时,执行以下处理以检测所述第一终端对应的消息路径:
[0032]控制第二终端通过应用服务器向第三方推送服务器发送第十一消息、以及对应第一终端的推送令牌,以使
[0033]所述第三方推送服务器基于所述推送令牌,将所述第十一消息发送至所述第一终端;
[0034]当所述第一终端接收到所述第十一消息时,确定所述第一终端对应的消息路径不是故障路径;
[0035]当所述第一终端未接收到所述第十一消息时,确定所述第一终端对应的消息路径是故障路径。
[0036]本申请实施例提供一种推送链路的故障检测装置,包括:
[0037]发送模块,用于通过推送链路向第一终端发送第一消息,所述推送链路包括多个
节点;
[0038]确定模块,用于响应于所述第一消息超时未到达所述第一终端,确定所述推送链路中与所述多个节点分别对应的多个消息路径;
[0039]其中,每个消息路径是用于检测对应的节点是否是故障节点;
[0040]检测模块,用于根据所述多个节点在所述推送链路中的顺序,依次检测所述多个节点分别对应的消息路径中的至少部分消息路径,以确定所述推送链路中的故障节点。
[0041]在上述方案中,所述确定模块,还用于当所述第一终端支持第三方推送服务器通过原生推送服务器接入时,确定所述推送链路包括的以下节点分别对应的消息路径:第二终端、应用服务器、所述第三方推送服务器、所述原生推送服务器、所述第一终端;当所述第一终端支持第三方推送服务器直接接入时,确定所述推送链路包括的以下节点分别对应的消息路径:第二终端、应用服务器、所述第三方推送服务器、所述第一终端。
[0042]在上述方案中,所述检测模块,还用于按照第一顺序检测所述推送链路中的节点对应的消息路径,其中,所述第一顺序是通过所述推送链路向所述第一终端传输所述第一消息时经过的节点的顺序的逆序,所述节点对应的消息路径包括所述节点、以及所述推送链路中按照所述第一顺序位于所述节点之前的节点;当先检测的节点对应的消息路径不存在故障时,继续检测下一个节点对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种推送链路的故障检测方法,其特征在于,所述方法包括:通过推送链路向第一终端发送第一消息,所述推送链路包括多个节点;响应于所述第一消息超时未到达所述第一终端,确定所述推送链路中与所述多个节点分别对应的多个消息路径;其中,每个消息路径是用于检测对应的节点是否是故障节点;根据所述多个节点在所述推送链路中的顺序,依次检测所述多个节点分别对应的消息路径中的至少部分消息路径,以确定所述推送链路中的故障节点。2.根据权利要求1所述的方法,其特征在于,所述确定所述推送链路中与所述多个节点分别对应的多个消息路径,包括:当所述第一终端支持第三方推送服务器通过原生推送服务器接入时,确定所述推送链路包括的以下节点分别对应的消息路径:第二终端、应用服务器、所述第三方推送服务器、所述原生推送服务器、所述第一终端;当所述第一终端支持第三方推送服务器直接接入时,确定所述推送链路包括的以下节点分别对应的消息路径:第二终端、应用服务器、所述第三方推送服务器、所述第一终端。3.根据权利要求1所述的方法,其特征在于,所述根据所述多个节点在所述推送链路中的顺序,依次检测所述多个节点分别对应的消息路径中的至少部分消息路径,以确定所述推送链路中的故障节点,包括:按照第一顺序检测所述推送链路中的节点对应的消息路径,其中,所述第一顺序是通过所述推送链路向所述第一终端传输所述第一消息时经过的节点的顺序的逆序,所述节点对应的消息路径包括所述节点、以及所述推送链路中按照所述第一顺序位于所述节点之前的节点;当先检测的节点对应的消息路径不存在故障时,继续检测下一个节点对应的消息路径,直至检测出故障的消息路径,并将所述故障的消息路径对应的节点确定为故障节点。4.根据权利要求1所述的方法,其特征在于,所述根据所述多个节点在所述推送链路中的顺序,依次检测所述多个节点分别对应的消息路径中的至少部分消息路径,以确定所述推送链路中的故障节点,包括:按照第二顺序检测所述推送链路中的节点对应的消息路径,其中,所述第二顺序是通过所述推送链路向所述第一终端传输所述第一消息时经过的节点的顺序,所述节点对应的消息路径包括所述节点、以及所述推送链路中按照所述第二顺序位于所述节点之前的节点;当先检测的节点对应的消息路径不存在故障时,继续检测下一个节点对应的消息路径,直至检测出故障的消息路径,并将所述故障的消息路径对应的节点确定为故障节点。5.根据权利要求1所述的方法,其特征在于,所述根据所述多个节点在所述推送链路中的顺序,依次检测所述多个节点分别对应的消息路径中的至少部分消息路径,包括:当按照第一顺序需要检测所述第一终端对应的消息路径时,或者当按照第二顺序检测到所述推送链路中位于所述第一终端之前的节点均不是故障节点时,执行以下处理以检测所述第一终端对应的消息路径:控制所述第一终端获取用于接收所述第一消息的客户端的安装包并进行安装,并在安装完成后通过所述客户端的设置页面查询对应所述第一终端的设备令牌;
通过所述客户端的通知页面确定所述客户端的通知状态;当所述通知状态是开启状态、且查询到已经生成对应所述第一终端的设备令牌时,确定所述第一终端对应的消息路径不是故障路径;当所述通知状态是关闭状态、或未查询到生成对应所述第一终端的设备令牌时,确定所述第一终端对应的消息路径是故障路径。6.根据权利要求1所述的方法,其特征在于,所述根据所述多个节点在所述推送链路中的顺序,依次检测所述多个节点分别对应的消息路径中的至少部分消息路径,包括:当按照第一顺序检测到所述推送链路中位于原生推送服务器之前的节点均不是故障节点时,执行以下处理以检测所述原生推送服务器对应的消息路径:通过所述原生推送服务器向所述第一终端发送第二消息;当所述第一终端接收到所述第二消息时,确定所述原生推送服务器对应的消息路径不是故障路径;当所述第一终端未接收到所述第二消息时,确定所述原生推送服务器对应的消息路径是故障路径。7.根据权利要求1所述的方法,其特征在于,所述根据所述多个节点在所述推送链路中的顺序,依次检测所述多个节点分别对应的消息路径中的至少部分消息路径,包括:当按照第一顺序检测到所述推送链路中位于第三方推送服务器之前的节点均不是故障节点时,执行以下处理以检测所述第三方推送服务器对应的消息路径:控制所述第三方推送服务器获取对应所述第一终端的推送令牌,并查找与所述推送令牌之间存在映射关系的设备令牌;控制所述第三方推送服务器将所述设备令牌和第三消息发送至原生推送服务器,以使所述原生推送服务器根据所述设备令牌向所述第一终端发送所述第三消息;当所述第一终端接收到所述第三消息时,确定所述第三方推送服务器对应的消息路径不是故障路径;当所述第一终端未接收...

【专利技术属性】
技术研发人员:蒋政胜王晓腾
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1