CN104125141B - 一种通知消息的推送方法、服务器及系统 - Google Patents

一种通知消息的推送方法、服务器及系统 Download PDF

Info

Publication number
CN104125141B
CN104125141B CN201310157431.4A CN201310157431A CN104125141B CN 104125141 B CN104125141 B CN 104125141B CN 201310157431 A CN201310157431 A CN 201310157431A CN 104125141 B CN104125141 B CN 104125141B
Authority
CN
China
Prior art keywords
target terminal
notice
notification message
server
signalling path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310157431.4A
Other languages
English (en)
Other versions
CN104125141A (zh
Inventor
张小龙
黄清
关镇安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201310157431.4A priority Critical patent/CN104125141B/zh
Priority to PCT/CN2013/090576 priority patent/WO2014176923A1/en
Priority to US14/259,711 priority patent/US9826055B2/en
Publication of CN104125141A publication Critical patent/CN104125141A/zh
Application granted granted Critical
Publication of CN104125141B publication Critical patent/CN104125141B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/224Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages

Abstract

本发明实施例公开了一种通知消息的推送方法、服务器、用户终端及系统,其中,所述方法包括:当检测到需要向目标终端推送通知消息时,检测当前与所述目标终端的信令通道的状态;若信令通道为连通状态,则通过该信令通道向所述目标终端发送通知消息;若信令通道为断开状态,生成关于所述目标终端对应账号的通知请求发送给通知服务器,以使所述通知服务器根据所述通知请求向所述目标终端推送通知消息。采用本发明,较为有效地减少通知消息延期以及发送失败的情况发生。

Description

一种通知消息的推送方法、服务器及系统
技术领域
本发明涉及用户终端通知技术领域,尤其涉及一种通知消息的推送方法、服务器及系统。
背景技术
在计算机技术、网络技术不断发展的今天,人们可以根据需要,通过服务器和网络向使用相应程序应用的用户发送通知消息,以提醒用户有新的消息、或者有某些待办事项等。例如,美国苹果公司推出的APNS(Apple Push Notification Service,苹果推送通知服务)中,就包括专用的消息推送服务器用于为相应的苹果用户推送通知消息。
在现有技术中,通知消息的推送流程为:用户在用户终端中录入即时通讯等应用账号和密码登录到现有的应用服务器;应用服务器在检测到需要向该应用账号对应的用户发送通知消息时,应用服务器将通知消息的内容及相应的用户信息发送给通知服务器如APNS的消息推送服务器;通知服务器在接收到通知消息后,在已经进行物理连接认证和设备令牌认证的用户信息列表中查找对应的用户终端,然后生成通知消息发送对应的用户终端。
发明人发现,通过现有方式发送通知消息时,APNS中消息推送服务器等通知服务器需要处理大量的各类应用、各个用户终端的通知消息,这必然存在通知消息延迟、甚至发送失败的情况。
发明内容
本发明实施例所要解决的技术问题在于,提供一种通知消息的推送方法、服务器、用户终端及系统,可较为有效地减少通知消息延期以及发送失败的情况发生。
为了解决上述技术问题,本发明实施例提供了一种通知消息的推送方法,包括:
应用服务器当检测到需要向目标终端推送通知消息时,检测当前与所述目标终端的信令通道的状态;
若信令通道为连通状态,则通过该信令通道向所述目标终端发送通知消息;
若信令通道为断开状态,生成关于所述目标终端对应账号的通知请求发送给通知服务器,以使所述通知服务器根据所述通知请求向所述目标终端推送通知消息。
相应地,本发明实施例还提供了一种通知消息的提示方法,包括:
用户终端接收应用服务器发送的通知消息,所述通知消息是所述应用服务器通过与本终端处于连通状态的信令通道向本终端发送的通知消息;
若检测到对应的客户端应用处于客户端后台运行状态,根据所述通知消息的数据内容构造提示信息,并弹出该提示信息提示给用户。
相应地,本发明实施例还提供了一种用于通知消息推送的服务器,包括:
检测模块,用于当检测到需要向目标终端推送通知消息时,检测当前与所述目标终端的信令通道的状态;
第一处理模块,用于在信令通道为连通状态时,通过该信令通道向所述目标终端发送通知消息;
第二处理模块,用于在信令通道为断开状态时,生成关于所述目标终端对应账号的通知请求发送给通知服务器,以使所述通知服务器根据所述通知请求向所述目标终端推送通知消息。
相应地,本发明实施例还提供了一种用于通知消息提示的用户终端,包括:
接收模块,用于接收应用服务器发送的通知消息,所述通知消息是所述应用服务器通过与本终端处于连通状态的信令通道向本终端发送的通知消息;
检测显示模块,用于在检测到客户端应用处于客户端后台运行状态,根据所述通知消息的数据内容构造提示信息,并弹出该提示信息提示给用户。
相应地,本发明实施例还提供了一种通知消息的推送系统,包括:应用服务器、通知服务器以及至少一个用户终端,其中,
所述应用服务器,用于当检测到需要向所述至少一个用户终端推送通知消息时,检测当前与所述至少一个用户终端的信令通道的状态;若信令通道为连通状态,则通过该信令通道向所述至少一个用户终端发送通知消息;若信令通道为断开状态,生成关于所述至少一个用户终端对应账号的通知请求发送给所述通知服务器;
所述通知服务器,用于在接收到所述应用服务器的通知请求时,根据所述通知请求向所述至少一个用户终端推送通知消息;
所述至少一个用户终端,用于在接收到所述应用服务器发送的通知消息或者接收到通知服务器发送的通知消息时,向用户提示所述通知消息的内容。
本发明实施例可以通过检测与用户终端的信令通道是否连通,并在连通时应用服务器向用户终端直接发送一个通知消息,在不连通是才请求用于向用户终端发送通知消息的服务器向用户终端发送通知消息,可以分担一部分用于向用户终端发送通知消息的服务器的通知处理负担,较好地减小通知消息的延迟,较好地避免了通知消息发送失败的情况。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种通知消息的推送方法的流程示意图;
图2是本发明实施例的另一种通知消息的推送方法的流程示意图;
图3是本发明实施例的一种通知消息的提示方法的流程示意图;
图4是本发明实施例的一种通知消息的推送系统的结构示意图;
图5是本发明实施例的一种用于通知消息推送的服务器的结构示意图;
图6是本发明实施例的另一种用于通知消息推送的服务器的结构示意图;
图7是本发明实施例的一种用于通知消息提示的用户终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,是本发明实施例的一种通知消息的推送方法的流程示意图,本发明实施例的所述推送方法可应用在各类需要向用户终端推送通知消息的应用服务器中,具体可以应用在各类即时通信应用服务器向登录即时通信应用账号的用户终端发送新消息提醒、待办事项提醒等通知消息的场景。所述方法包括:
S101:应用服务器当检测到需要向目标终端推送通知消息时,检测当前与所述目标终端的信令通道的状态。
在所述S101中,所述应用服务器可以通过判断是否接收到由所述目标终端中对应的即时通讯应用在信令通道中发起的连通信令,如果接收到连通信令,则可以确定当前与所述目标终端信令通道为连通状态,如果没有接收到连通信令,则为断开状态。进一步具体可以判断在预设的时间范围阈值内是否接收到由所述目标终端中对应的即时通讯应用在信令通道中发起的连通信令。
目标终端为任意一个登录了即时通信应用等应用账号的用户终端。应用服务器在向所述目标终端发送新消息或者检测到关于所述目标终端对应应用账号的待办事项发生等情况下,会向所述目标终端发送通知消息。应用服务器检测是否需要向目标终端推送通知消息为现有技术,在此不赘述。
所述信令通道是网络中为了保证网络正常运行、用户正常使用的一个控制通道,应用服务器与目标终端之间可以在信令通道中发送简单的指令。
用户在目标终端上通过应用账号登录到应用服务器后,信令通道可以作为目标终端(如即时通讯应用)和应用服务器之间发送“心跳信号”的通道,目标终端可以通过心跳连接机制与应用服务器通信,使应用服务器确定该目标终端对应的用户为活跃用户。通过“心跳信号”应用服务器和目标终端相互能够知道对方的状态,确定对方是否能够接收和处理消息,应用服务器也能够知道目标终端的通信地址,以向所述目标终端发送消息。
具体的,目标终端可以在每个一定时间通过一个自定义的数据结构体(心跳包或心跳帧)发送给应用服务器,以便于使应用服务器确定该目标终端对应的应用账号在线,以确保目标终端和应用服务器之间连接的有效性。也就是说,在本发明实施例中,应用服务器可以通过检查心跳连接是否正常来判断当前与所述目标终端的信令通道的状态。与所述目标终端的信令通道的状态至少包括连通状态和断开状态。
S102:若信令通道为连通状态,则通过该信令通道向所述目标终端发送通知消息。
S103:若信令通道为断开状态,生成关于所述目标终端对应账号的通知请求发送给通知服务器,以使所述通知服务器根据所述通知请求向所述目标终端推送通知消息。
其中,所述通知服务器具体为用于向所述目标终端对应账号推送通知消息的服务器,例如在APNS中的消息推送服务器。
当前目标终端与应用程序的信令通道连通时,在所述S102中,应用服务器通过信令通道直接发送一条通知消息(即伪通知消息)给所述目标终端,并不需要通过专用的向所述目标终端对应账号推送通知消息的通知服务器(如APNS中的消息推送服务器)发送通知消息。随后在用户将相应的应用在所述目标终端前台打开后,将具体的新消息或者待办事项的数据发送给用户终端,由目标终端通过应用程序显示给用户。
而如果目标终端与应用程序的信令通道连断开,那么在所述S103中,应用服务器则需要通过通知服务器如APNS中的消息推送服务器向所述目标终端发送通知消息,当用户将相应的应用在目标终端前台打开后,将具体的新消息或者待办事项的数据发送给目标终端,由目标终端通过应用程序显示给用户。
本发明实施例可以通过检测与用户终端的信令通道是否连通,并在连通时应用服务器向用户终端直接发送一个通知消息,在不连通是才请求用于向用户终端发送通知消息的服务器向用户终端发送通知消息,可以分担一部分用于向用户终端发送通知消息的服务器的通知处理负担,较好地减小通知消息的延迟,较好地避免了通知消息发送失败的情况。
再请参见图2,是本发明实施例的另一种通知消息的推送方法的流程示意图,本发明实施例的所述推送方法可应用在各类需要向用户终端推送通知消息的应用服务器中,具体可以应用在各类即时通信应用服务器向登录即时通信应用账号的用户终端发送新消息提醒、待办事项提醒等通知消息的场景。所述方法包括:
S201:应用服务器当检测到需要向目标终端推送通知消息时,检测当前与所述目标终端的信令通道的状态。
检测是否需要向目标终端推送通知消息可采用现有技术实现,在本发明实施例中,所述S201具体可以包括:
当检测到需要向目标终端推送通知消息时,判断与所述目标终端的心跳连接是否正常;若心跳连接正常,则检测确定当前与所述目标终端的信令通道的状态为连通状态,为连通状态时,执行下述的S202,若心跳连接异常,为断开状态,执行下述的S205。其中,心跳连接为正常还是为异常的判定可以采用现有技术实现。
S202:若信令通道为连通状态,应用服务器通过该信令通道向所述目标终端发送通知消息。
S203:应用服务器判断在预设的时间范围内是否接收到目标终端响应所述通知消息回复的通知确认消息。
在所述S202中向目标终端发送了通知消息后,可能会由于网络的原因或者用户终端的原因导致通知消息没有正确送达到目标终端。因此,在本发明实施例中,设置接收确认机制,即用户终端在接收到应用服务器通过信令通道直接发送的通知消息(伪通知消息)后,向应用服务器回复通知确认消息。用户终端也可以在接收到应用服务器通过信令通道直接发送的通知消息并成功显示提示给用户后,向应用服务器回复通知确认消息。没有接收到通知消息或者接收后没有正常提示,用户终端均不会自动回复通知确认消息。
应用服务器在接收到目标终端响应所述通知消息回复的通知确认消息时,与现有技术相同,执行发送对应的消息或者待办事项等数据,没有接收到通知确认消息时,执行下述的S204。
S204:若在预设的时间范围内没有接收到所述目标终端回复的通知确认消息,应用服务器生成关于所述目标终端对应账号的通知请求发送给所述通知服务器,以使所述通知服务器根据所述通知请求向所述目标终端推送通知消息。
应用服务器可以在通过该信令通道向所述目标终端发送通知消息时,开始计时,在预设的时间范围内,例如3秒内,没有接收到所述目标终端回复的通知确认消息,则可以确定本次通过信令通道发送的通知消息失败,执行所述S204,生成关于所述目标终端对应账号的通知请求发送给所述通知服务器,以使所述通知服务器根据所述通知请求向所述目标终端推送通知消息。
S205:若信令通道为断开状态,应用服务器生成关于所述目标终端对应账号的通知请求发送给通知服务器,以使所述通知服务器根据所述通知请求向所述目标终端推送通知消息。
其中,本发明实施例中,在所述S204或S205中,生成关于所述目标终端对应账号的通知请求发送给通知服务器,包括:获取关于所述目标终端对应账号的通知内容数据,生成包括关于所述目标终端对应账号的通知内容数据的通知请求;将包括关于所述目标终端对应账号的通知内容数据的通知请求发送给通知服务器。所述获取的通知内容数据包括:获取用户有新消息的通知内容,或者获取用户有待办事项的通知内容等。应用服务器将相应的通知内容数据发送给APNS等通知服务器,由通知服务器生成相应的通知消息发送给所述目标终端。
进一步可选地,在执行了所述的S205后,所述方法进一步还可以包括:
S206:所述应用服务器判断在预设的时间范围内是否接收到目标终端响应所述通知消息回复的通知确认消息;
S207:若在预设的时间范围内没有接收到所述目标终端回复的通知确认消息,所述应用服务器检测与所述目标终端的信令通道的状态;
S208:若信令通道为连通状态,所述应用服务器通过该信令通道向所述目标终端发送通知消息。
在本发明实施例中,通过通知服务器向所述目标终端发送通知消息后,也可以通过一个终端反馈机制来确定用户终端是否接收到通知消息,并在没有接收到所述目标终端的用于反馈的通知确认消息时,再次检测与所述目标终端的信令通道的状态,由于目标终端中相应的即时通讯应用有可能在此时再次在信令通道中发起了连通信令(即心跳信令),因此,应用服务器有可能会检测确定与所述目标终端的信令通道的状态为连通状态,应用服务器就可以通过信令通道发送该通知消息给所述目标终端。
本发明实施例可以通过检测与用户终端的信令通道是否连通,并在连通时应用服务器向用户终端直接发送一个通知消息,在不连通是才请求用于向用户终端发送通知消息的服务器向用户终端发送通知消息,可以分担一部分用于向用户终端发送通知消息的服务器的通知处理负担,较好地减小通知消息的延迟,较好地避免了通知消息发送失败的情况。并且,在通知消息发送后,还能够根据是否接收到用户终端反馈的确认消息以判断通知消息是否发送成功,在发送成功后再作通知处理,而在确定发送不成功后,再通过用于向用户终端发送通知消息的服务器向用户终端发送通知消息,较好地保证了通知消息能够送达到用户终端。
再请参见图3,是本发明实施例的一种通知消息的提示方法的流程示意图,本发明实施例的所述方法可应用在各类需要向用户终端推送通知消息的应用中,由用户终端执行本发明实施例所述的方法向用户显示推送的通知消息,具体的,本发明实施例所述的方法包括:
S301:用户终端接收应用服务器发送的通知消息,所述通知消息是所述应用服务器通过与本终端处于连通状态的信令通道向本终端发送的通知消息。
用户终端根据通知消息发送端的设备标识如IP地址以及传输通道,可以确定该通知消息是否由其对应的应用服务器通过与本终端处于连通状态的信令通道向本终端发送的通知消息。
S302:若检测到对应的客户端应用处于客户端后台运行状态,用户终端根据所述通知消息的数据内容构造提示信息,并弹出该提示信息提示给用户。
所述用户终端可以为上述实施例中的所述目标终端。
而如果为对应的即时通讯应用为如用户终端当前处于锁屏状态或者用户当前正在处理其他事件时,用户终端后台运行,需要根据所述通知消息的数据内容构造一个简单的提示信息tips,并弹出该提示信息提示给用户。
若检测到对应的客户端应用处于前台运行状态,用户终端不会显示所述通知消息;也就是说,用户当前正处于客户端应用的用户界面中,例如在对应即时通讯应用的用户会话界面中,则直接接收并显示应用服务器发送的该通知消息对应的具体消息或者具体待办事项数据等内容以显示给用户,具体的包括:显示应用服务器在通知消息之后发送了一个消息,并且把该消息以及会话移到通讯列表的顶端。
进一步的,在用户终端接收到应用服务器发送的通知消息后,还包括:向所述应用服务器发送通知确认消息。以便于通知应用服务器确定其通知消息发送成功,相反,如果用户终端没有接收到应用服务器发送的通知消息时,不会回复通知确认消息,应用服务器可以根据需要转由所述通知服务器向所述用户终端发送通知消息。
而如果用户终端接收到的是APNS等通知服务器发送的通知消息,则其对接收到的通知消息的处理流程与现有技术相同,在此不赘述。
用户终端能够直接通过信令通道接收通知消息,可以较好地保证通知消息的及时提醒,并且反馈机制也进一步地确保了在用户终端在信令通道中没有接收到通知消息时,也可以接收到应用服务器通过用于对用户终端发送通知消息的服务器发送的通知消息,可以进一步地保证通知消息的及时提醒,较好地减小通知消息的延迟,较好地避免了通知消息发送失败的情况。
下面对本发明实施例的服务器、用户终端以及系统进行详细描述。
请参见图4,是本发明实施例的一种通知消息的推送系统的结构示意图,本发明实施例的所述系统包括:应用服务器1、通知服务器2以及至少一个用户终端,本发明实施例以其中的用户终端3进行说明,其他用户终端执行相同的操作,其中,所述通知服务器为用于向所述目标终端对应账号推送通知消息的服务器,其可以为APNS中的消息推送服务器。具体的:
所述应用服务器11,用于当检测到需要向所述用户终端3推送通知消息时,检测当前与所述用户终端3的信令通道的状态;若与所述用户终端3的信令通道为连通状态,则通过该信令通道向所述用户终端3发送通知消息;若与所述用户终端3的信令通道为断开状态,生成关于所述用户终端3对应账号的通知请求发送给所述通知服务器2;
所述通知服务器2,用于在接收到所述应用服务器1的通知请求时,根据所述通知请求向所述用户终端3推送通知消息;
所述用户终端3,用于在接收到所述应用服务器1发送的通知消息或者接收到通知服务器2发送的通知消息时,向用户提示所述通知消息的内容。
所述用户终端3接收到通知服务器2发送的通知消息时,执行与现有技术相同的操作以向用户提示所述通知消息的内容。
而在接收到所述应用服务器1发送的通知消息时,所述用户终端3具体用于若检测到对应的客户端应用处于前台运行状态,不显示所述通知消息,直接接收并显示应用服务器1后续发送的消息;若检测到对应的客户端应用处于客户端后台运行状态,根据所述通知消息的数据内容构造提示信息,并弹出该提示信息提示给用户。
另外,所述用户终端3,还用于在接收到所述应用服务器发送的通知消息后,向所述应用服务器1发送通知确认消息。
所述应用服务器1,还用于在通过与所述用户终端3处于连通状态的信令通道向所述用户终端3发送通知消息之后,判断在预设的时间范围内是否接收到用户终端3响应所述通知消息回复的通知确认消息;若在预设的时间范围内没有接收到所述用户终端3回复的通知确认消息,生成关于所述用户终端3对应账号的通知请求发送给所述通知服务器2。
本发明实施例可以通过检测与用户终端的信令通道是否连通,并在连通时应用服务器向用户终端直接发送一个通知消息,在不连通是才请求用于向用户终端发送通知消息的服务器向用户终端发送通知消息,可以分担一部分用于向用户终端发送通知消息的服务器的通知处理负担,较好地减小通知消息的延迟,较好地避免了通知消息发送失败的情况。并且,在通知消息发送后,还能够根据是否接收到用户终端反馈的确认消息以判断通知消息是否发送成功,在发送成功后再作通知处理,而在确定发送不成功后,再通过用于向用户终端发送通知消息的服务器向用户终端发送通知消息,较好地保证了通知消息能够送达到用户终端。
具体的,请参见图5,是本发明实施例的一种用于通知消息推送的服务器的结构示意图,本发明实施例的所述服务器可以为上述图4对应实施例中的应用服务器1,具体的,所述服务器包括:
检测模块11,用于当检测到需要向目标终端推送通知消息时,检测当前与所述目标终端的信令通道的状态;
第一处理模块12,用于在信令通道为连通状态时,通过该信令通道向所述目标终端发送通知消息;
第二处理模块13,用于在信令通道为断开状态时,生成关于所述目标终端对应账号的通知请求发送给通知服务器,以使所述通知服务器根据所述通知请求向所述目标终端推送通知消息。
所述目标终端为任意一个登录了即时通信应用等应用账号的用户终端,如上述图4对应实施例中的用户终端3。所述检测模块11在向所述目标终端发送新消息或者检测到关于所述目标终端对应应用账号的待办事项发生等情况下,会向所述目标终端发送通知消息。应用服务器通过所述检测模块11检测是否需要向目标终端推送通知消息为现有技术,在此不赘述。
对于检测当前与所述目标终端的信令通道的状态,所述检测模块11可以通过检查心跳连接是否正常来判断当前与所述目标终端的信令通道的状态。与所述目标终端的信令通道的状态至少包括连通状态和断开状态。
当前目标终端与应用程序的信令通道连通时,所述第一处理模块12通过信令通道直接发送一条通知消息(即通过此方式发送的通知消息为伪通知消息)给所述目标终端,并不需要通过专用的向所述目标终端对应账号推送通知消息的通知服务器(如APNS中的消息推送服务器)发送通知消息。随后在用户将相应的应用在用户终端前台打开后,将具体的新消息或者待办事项的数据发送给用户终端,由用户终端通过应用程序显示给用户。
而如果目标终端与应用程序的信令通道连断开,那么所述第二处理模块13则需要通过通知服务器如APNS中的消息推送服务器向所述目标终端发送通知消息,当用户将相应的应用在目标终端前台打开后,将具体的新消息或者待办事项的数据发送给目标终端,由目标终端通过应用程序显示给用户。
本发明实施例可以通过检测与用户终端的信令通道是否连通,并在连通时应用服务器向用户终端直接发送一个通知消息,在不连通是才请求用于向用户终端发送通知消息的服务器向用户终端发送通知消息,可以分担一部分用于向用户终端发送通知消息的服务器的通知处理负担,较好地减小通知消息的延迟,较好地避免了通知消息发送失败的情况。
进一步地,再请参见图6,是本发明实施例的另一种用于通知消息推送的服务器的结构示意图,本发明实施例的所述服务器可以为上述图4对应实施例中的应用服务器1,并且,本发明实施例中的所述服务器包括上述图5对应实施例中的检测模块11、第一处理模块12以及第二处理模块13,在本发明实施例中,所述服务器还包括:
第一判断模块14,用于在所述第一处理模块12向所述目标终端发送通知消息之后,判断在预设的时间范围内是否接收到目标终端响应所述通知消息回复的通知确认消息;
所述第二处理模块13,还用于在预设的时间范围内没有接收到所述目标终端回复的通知确认消息时,生成关于所述目标终端对应账号的通知请求发送给所述通知服务器,以使所述通知服务器根据所述通知请求向所述目标终端推送通知消息。
在所述第一处理模块12向目标终端发送了通知消息后,可能会由于网络的原因或者用户终端的原因导致通知消息没有正确送达到目标终端。因此,在本发明实施例中,设置接收确认机制,即用户终端在接收到应用服务器通过信令通道直接发送的通知消息(伪通知消息)后,向应用服务器回复通知确认消息。用户终端也可以在接收到应用服务器通过信令通道直接发送的通知消息并成功显示提示给用户后,向应用服务器回复通知确认消息。没有接收到通知消息或者接收后没有正常提示,用户终端均不会自动回复通知确认消息。
所述第一判断模块14判断接收到目标终端响应所述通知消息回复的通知确认消息时,与现有技术相同,执行发送对应的消息或者待办事项等数据,而如果所述第一判断模块14判断没有接收通知确认消息,则通过所述第二处理模块13生成关于所述目标终端对应账号的通知请求发送给所述通知服务器,以使所述通知服务器根据所述通知请求向所述目标终端推送通知消息。
进一步可选地,请参见图6,所述服务器还包括:
获取模块15,用于获取关于所述目标终端对应账号的通知内容数据;
所述第二处理模块13,用于生成包括关于所述目标终端对应账号的通知内容数据的通知请求,将包括关于所述目标终端对应账号的通知内容数据的通知请求发送给所述通知服务器。
所述获取模块15获取的通知内容数据包括:获取用户有新消息的通知内容,或者获取用户有待办事项的通知内容等。所述第二处理模块13将相应的通知内容数据发送给APNS等通知服务器,由通知服务器生成相应的通知消息发送给所述目标终端。
进一步可选地,再请参见图6,所述检测模块11具体可以包括:
判断单元,用于当检测到需要向目标终端推送通知消息时,判断与所述目标终端的心跳连接是否正常;
确定单元,用于在心跳连接正常时,确定当前与所述目标终端的信令通道的状态为连通状态,在心跳连接异常时,为断开状态。
进一步可选地,再请参见图6,本发明实施例的所述装置还可以包括:
第二判断模块16,用于判断在预设的时间范围内是否接收到目标终端响应所述通知消息回复的通知确认消息;
所述检测模块11,还用于所述第二判断模块16的判断结果为接收到所述目标终端回复的通知确认消息,检测与所述目标终端的信令通道的状态;
所述第一处理模块12,还用于若信令通道为连通状态,通过该信令通道向所述目标终端发送通知消息。
在本发明实施例中,所述第二处理模块13通过通知服务器向所述目标终端发送通知消息后,也可以通过一个终端反馈机制来确定用户终端是否接收到通知消息,并在所述第二判断模块16在判断没有接收到所述目标终端的用于反馈的通知确认消息时,通过所述检测模块11再次检测与所述目标终端的信令通道的状态,由于目标终端中相应的即时通讯应用有可能在此时再次在信令通道中发起了连通信令(即心跳信令),因此,所述检测模块11有可能会检测确定与所述目标终端的信令通道的状态为连通状态,所述第一处理模块12就可以通过信令通道发送该通知消息给所述目标终端。
本发明实施例可以通过检测与用户终端的信令通道是否连通,并在连通时应用服务器向用户终端直接发送一个通知消息,在不连通是才请求用于向用户终端发送通知消息的服务器向用户终端发送通知消息,可以分担一部分用于向用户终端发送通知消息的服务器的通知处理负担,较好地减小通知消息的延迟,较好地避免了通知消息发送失败的情况。并且,在通知消息发送后,还能够根据是否接收到用户终端反馈的确认消息以判断通知消息是否发送成功,在发送成功后再作通知处理,而在确定发送不成功后,再通过用于向用户终端发送通知消息的服务器向用户终端发送通知消息,较好地保证了通知消息能够送达到用户终端。
再请参见图7,是本发明实施例的一种用于通知消息提示的用户终端的结构示意图,本发明实施例所述的用户终端可以为上述图4对应实施例中的用户终端3,具体的,本发明实施例的所述用户终端包括:
接收模块31,用于接收应用服务器发送的通知消息,所述通知消息是所述应用服务器通过与本终端处于连通状态的信令通道向本终端发送的通知消息;
检测显示模块32,用于在检测到客户端应用处于客户端后台运行状态,根据所述通知消息的数据内容构造提示信息,并弹出该提示信息提示给用户。
所述接收模块31根据通知消息发送端的设备标识如IP地址以及传输通道,可以确定该通知消息是否由其对应的应用服务器通过与本终端处于连通状态的信令通道向本终端发送的通知消息。
若检测到对应的客户端应用处于前台运行状态,用户终端不会显示所述通知消息,也就是说,用户当前正处于所述应用服务器对应的客户端应用的用户界面中,例如与对应即时通讯应用的用户会话界面中,所述检测显示模块32直接显示接收到的应用服务器发送的该通知消息对应的具体消息或者具体待办事项数据等内容以显示给用户。
而如果为对应的即时通讯应用为如用户终端当前处于锁屏状态或者用户当前正在处理其他事件时,用户终端后台运行,所述检测显示模块32需要根据所述通知消息的数据内容构造一个简单的提示信息tips,并弹出该提示信息提示给用户。
进一步可选地,再请参见图7,所述用户终端还可以包括:
确认模块33,用于在接收应用服务器发送的通知消息后,向所述应用服务器发送通知确认消息。
而如果所述接收模块31接收到的是APNS等用于向所述目标终端对应账号推送通知消息的通知服务器发送的通知消息,则其对接收到的通知消息的处理流程与现有技术相同,在此不赘述。
用户终端能够直接通过信令通道接收通知消息,可以较好地保证通知消息的及时提醒,并且反馈机制也进一步地确保了在用户终端在信令通道中没有接收到通知消息时,也可以接收到应用服务器通过用于对用户终端发送通知消息的服务器发送的通知消息,可以进一步地保证通知消息的及时提醒,较好地减小通知消息的延迟,较好地避免了通知消息发送失败的情况。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (8)

1.一种通知消息的推送方法,其特征在于,包括:
应用服务器当检测到需要向目标终端推送通知消息时,检测当前与所述目标终端的信令通道的状态;
若信令通道为连通状态,则通过该信令通道向所述目标终端发送通知消息,所述信令通道包括:目标终端与应用服务器之间发送心跳信号的通道;
若信令通道为断开状态,生成关于所述目标终端对应账号的通知请求发送给通知服务器,以使所述通知服务器根据所述通知请求向所述目标终端推送通知消息;
其中,在所述若信令通道为连通状态,则通过该信令通道向所述目标终端发送通知消息之后,所述方法还包括:所述应用服务器判断在预设的时间范围内是否接收到目标终端响应所述通知消息回复的通知确认消息;若在预设的时间范围内没有接收到所述目标终端回复的通知确认消息,生成关于所述目标终端对应账号的通知请求发送给所述通知服务器,以使所述通知服务器根据所述通知请求向所述目标终端推送通知消息;
或者,在所述若信令通道为断开状态,则生成关于所述目标终端对应账号的通知请求发送给通知服务器之后,所述方法还包括:所述应用服务器判断在预设的时间范围内是否接收到目标终端响应所述通知消息回复的通知确认消息;若在预设的时间范围内没有接收到所述目标终端回复的通知确认消息,检测与所述目标终端的信令通道的状态;若信令通道为连通状态,则通过该信令通道向所述目标终端发送通知消息。
2.如权利要求1所述的方法,其特征在于,生成关于所述目标终端对应账号的通知请求发送给通知服务器,包括:
所述应用服务器获取关于所述目标终端对应账号的通知内容数据,生成包括关于所述目标终端对应账号的通知内容数据的通知请求;
将包括关于所述目标终端对应账号的通知内容数据的通知请求发送给通知服务器。
3.如权利要求2所述的方法,其特征在于,所述当检测到需要向目标终端推送通知消息时,检测当前与所述目标终端的信令通道的状态,包括:
所述应用服务器当检测到需要向目标终端推送通知消息时,判断与所述目标终端的心跳连接是否正常;
若心跳连接正常,则检测确定当前与所述目标终端的信令通道的状态为连通状态,若心跳连接异常,则确定为断开状态。
4.一种用于通知消息推送的服务器,其特征在于,包括:
检测模块,用于当检测到需要向目标终端推送通知消息时,检测当前与所述目标终端的信令通道的状态;
第一处理模块,用于在信令通道为连通状态时,通过该信令通道向所述目标终端发送通知消息,所述信令通道包括:目标终端与应用服务器之间发送心跳信号的通道;
第二处理模块,用于在信令通道为断开状态时,生成关于所述目标终端对应账号的通知请求发送给通知服务器,以使所述通知服务器根据所述通知请求向所述目标终端推送通知消息;
其中,所述服务器还包括:第一判断模块,用于在所述第一处理模块向所述目标终端发送通知消息之后,判断在预设的时间范围内是否接收到目标终端响应所述通知消息回复的通知确认消息;所述第二处理模块,还用于在预设的时间范围内没有接收到所述目标终端回复的通知确认消息时,生成关于所述目标终端对应账号的通知请求发送给通知服务器,以使所述通知服务器根据所述通知请求向所述目标终端推送通知消息;
或者,所述服务器还包括:第二判断模块,用于判断在预设的时间范围内是否接收到目标终端响应所述通知消息回复的通知确认消息;所述检测模块,还用于所述第二判断模块的判断结果为接收到所述目标终端回复的通知确认消息,检测与所述目标终端的信令通道的状态;所述第一处理模块,还用于若信令通道为连通状态,通过该信令通道向所述目标终端发送通知消息。
5.如权利要求4所述的服务器,其特征在于,还包括:
获取模块,用于获取关于所述目标终端对应账号的通知内容数据;
所述第二处理模块,用于生成包括关于所述目标终端对应账号的通知内容数据的通知请求,将包括关于所述目标终端对应账号的通知内容数据的通知请求发送给所述通知服务器。
6.如权利要求5所述的服务器,其特征在于,所述检测模块包括:
判断单元,用于当检测到需要向目标终端推送通知消息时,判断与所述目标终端的心跳连接是否正常;
确定单元,用于在心跳连接正常时,确定当前与所述目标终端的信令通道的状态为连通状态,在心跳连接异常时,确定为断开状态。
7.一种通知消息的推送系统,其特征在于,包括:应用服务器、通知服务器以及至少一个用户终端,其中,
所述应用服务器,用于当检测到需要向所述至少一个用户终端推送通知消息时,检测当前与所述至少一个用户终端的信令通道的状态;若信令通道为连通状态,则通过该信令通道向所述至少一个用户终端发送通知消息;若信令通道为断开状态,生成关于所述至少一个用户终端对应账号的通知请求发送给所述通知服务器;
所述通知服务器,用于在接收到所述应用服务器的通知请求时,根据所述通知请求向所述至少一个用户终端推送通知消息;
所述至少一个用户终端,用于在接收到所述应用服务器发送的通知消息或者接收到通知服务器发送的通知消息时,向用户提示所述通知消息的内容;
进一步地,所述应用服务器,还用于在通过与所述至少一个用户终端处于连通状态的信令通道向所述至少一个用户终端发送通知消息之后,判断在预设的时间范围内是否接收到至少一个用户终端响应所述通知消息回复的通知确认消息;若在预设的时间范围内没有接收到所述至少一个用户终端回复的通知确认消息,生成关于所述至少一个用户终端对应账号的通知请求发送给所述通知服务器;
或者,所述应用服务器,还用于判断在预设的时间范围内是否接收到目标终端响应所述通知消息回复的通知确认消息;若在预设的时间范围内没有接收到所述目标终端回复的通知确认消息,检测与所述目标终端的信令通道的状态; 若信令通道为连通状态,则通过该信令通道向所述目标终端发送通知消息。
8.如权利要求7所述的系统,其特征在于,所述至少一个用户终端,还用于在接收到所述应用服务器发送的通知消息或者接收到通知服务器发送的通知消息后,向所述应用服务器发送通知确认消息。
CN201310157431.4A 2013-04-28 2013-04-28 一种通知消息的推送方法、服务器及系统 Active CN104125141B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310157431.4A CN104125141B (zh) 2013-04-28 2013-04-28 一种通知消息的推送方法、服务器及系统
PCT/CN2013/090576 WO2014176923A1 (en) 2013-04-28 2013-12-26 A method, server, user terminal, and system for pushing notification message
US14/259,711 US9826055B2 (en) 2013-04-28 2014-04-23 Method, server, user terminal, and system for pushing notification message

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310157431.4A CN104125141B (zh) 2013-04-28 2013-04-28 一种通知消息的推送方法、服务器及系统

Publications (2)

Publication Number Publication Date
CN104125141A CN104125141A (zh) 2014-10-29
CN104125141B true CN104125141B (zh) 2017-03-01

Family

ID=51770410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310157431.4A Active CN104125141B (zh) 2013-04-28 2013-04-28 一种通知消息的推送方法、服务器及系统

Country Status (2)

Country Link
CN (1) CN104125141B (zh)
WO (1) WO2014176923A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105900466B (zh) * 2014-11-28 2020-04-21 华为技术有限公司 消息处理方法及装置
CN105005470B (zh) * 2015-06-08 2019-05-24 浙江每日互动网络科技股份有限公司 一种通知栏消息的处理方法、服务器、用户终端及系统
CN105743774B (zh) * 2016-01-28 2019-04-02 广州市动景计算机科技有限公司 推送信息监控装置、推送信息监控方法及客户端
CN108023903B (zh) * 2016-10-31 2021-08-17 北京讯飞乐知行软件有限公司 一种通知发布方法及系统
CN109218509B (zh) 2017-07-04 2021-03-02 北京小米移动软件有限公司 息屏显示方法、装置及计算机可读存储介质
CN107635155B (zh) * 2017-09-20 2020-08-07 香港乐蜜有限公司 一种信息发送方法、装置、设备及存储介质
CN110445705B (zh) * 2018-05-02 2021-08-03 腾讯科技(深圳)有限公司 消息发送方法、装置、系统、计算机设备和存储介质
CN108650019B (zh) * 2018-05-18 2020-11-10 广东电网有限责任公司 一种北斗短报文终端检测方法、装置、设备及存储介质
CN109104357A (zh) * 2018-07-10 2018-12-28 携程旅游信息技术(上海)有限公司 推送消息的处理方法及系统
CN109635187A (zh) * 2018-11-26 2019-04-16 平安科技(深圳)有限公司 消息推送方法、装置、计算机设备及存储介质
CN111131392A (zh) * 2019-11-27 2020-05-08 北京文渊佳科技有限公司 处理消息的方法、装置、电子设备及介质
CN112954005A (zh) * 2021-01-26 2021-06-11 广州三星通信技术研究有限公司 推送及输出服务信息的方法及相应设备
CN113206780A (zh) * 2021-04-06 2021-08-03 深圳依时货拉拉科技有限公司 企业即时通讯方法、装置、计算机设备及可读存储介质
CN113360752A (zh) * 2021-04-23 2021-09-07 山东英信计算机技术有限公司 一种消息推送的方法、装置、设备及可读介质
CN114710377A (zh) * 2022-03-31 2022-07-05 北京贝壳时代网络科技有限公司 通知方法、装置、存储介质及计算机程序产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1841130A1 (en) * 2006-03-29 2007-10-03 Research In Motion Limited Apparatus, and associated method, for facilitating background processing of push content
CN102447647A (zh) * 2010-10-13 2012-05-09 腾讯科技(深圳)有限公司 一种基于新消息的通知方法、装置及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615961B (zh) * 2008-06-24 2011-05-18 华为技术有限公司 媒体内容推荐方法和装置
CN102316423B (zh) * 2010-07-06 2014-03-12 华为技术有限公司 一种信息推送方法、装置和系统
US9923934B2 (en) * 2010-07-26 2018-03-20 Vonage Business Inc. Method and apparatus for VOIP communication completion to a mobile device
US8788881B2 (en) * 2011-08-17 2014-07-22 Lookout, Inc. System and method for mobile device push communications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1841130A1 (en) * 2006-03-29 2007-10-03 Research In Motion Limited Apparatus, and associated method, for facilitating background processing of push content
CN102447647A (zh) * 2010-10-13 2012-05-09 腾讯科技(深圳)有限公司 一种基于新消息的通知方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
S2-131498,Push Proxy/Device Agent Function for reducing heartbeat/keep-alive of applications;华为等;《3GPP》;20130413;文档正文 *

Also Published As

Publication number Publication date
CN104125141A (zh) 2014-10-29
WO2014176923A1 (en) 2014-11-06

Similar Documents

Publication Publication Date Title
CN104125141B (zh) 一种通知消息的推送方法、服务器及系统
US9826055B2 (en) Method, server, user terminal, and system for pushing notification message
CN104348697B (zh) 视频通讯信息的处理方法、装置及系统
CN103297470B (zh) 永远在线业务的处理方法、应用服务器、用户终端和系统
CN103685166A (zh) 起始会话协议终端切换主备服务器的方法及装置
CN103825777A (zh) 一种dmz服务器切换方法和装置
CN103139818A (zh) 一种aos中保持长连接的方法、系统、aoe、aog及终端
CN105515937B (zh) 一种即时通讯方法、终端、服务器以及系统
CN108134713A (zh) 一种通信方法及装置
CN103516587A (zh) 即时通信客户端断线重连的方法和装置
CN109040295A (zh) 异常断线的确定方法及装置、终端及存储介质
WO2013097482A1 (zh) 邮件行为阻断方法、装置及网关
CN110809262B (zh) 一种基于coap协议的物联网设备运维管理方法
CN102299859A (zh) 一种交互信息转发方法及装置
CN108259213A (zh) Netconf会话状态检测方法和装置
TW201038004A (en) Wake up method and application thereof
CN103297449B (zh) 一种文件传输方法、即时通信终端及系统
WO2017000438A1 (zh) 一种提高交换网链路中业务检测可靠性的方法及装置
TWI513236B (zh) 一種即時通訊應用中的會話通知方法、裝置及系統
CN106936784A (zh) Sip注册方法、终端及系统
CN104378230A (zh) 一种提高Telnet服务端稳定性的系统和方法
CN103517250B (zh) 用于处理应用代理客户端异常的方法和装置
CN103873350A (zh) 一种即时消息提示服务器、系统及方法
CN110602339B (zh) 一种基于语音网关的故障检测方法、系统及存储介质
CN110121215B (zh) 5g终端的数据连接建立方法、装置及5g终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200831

Address after: 518057 Nanshan District science and technology zone, Guangdong, Zhejiang Province, science and technology in the Tencent Building on the 1st floor of the 35 layer

Co-patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd.

Patentee after: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518057 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.