CN103685570A - 服务器、终端和消息推送方法 - Google Patents
服务器、终端和消息推送方法 Download PDFInfo
- Publication number
- CN103685570A CN103685570A CN201310751834.1A CN201310751834A CN103685570A CN 103685570 A CN103685570 A CN 103685570A CN 201310751834 A CN201310751834 A CN 201310751834A CN 103685570 A CN103685570 A CN 103685570A
- Authority
- CN
- China
- Prior art keywords
- terminal
- information
- server
- deferred information
- deferred
- 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.)
- Pending
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种服务器、一种终端和一种消息推送方法,其中,所述服务器,包括:检测单元,用于实时检测所述服务器与终端的连接状态;交互单元,用于在所述检测单元检测到所述服务器与所述终端的连接断开时,将待发送至所述终端的离线消息发送至与所述终端建立连接的其他服务器,以供所述其他服务器提示所述终端获取所述离线消息。通过本发明的技术方案,可以确保终端在与服务器断开时,也能接收到离线消息的提示信息,以便于及时获取离线消息,同时可以降低终端的功耗与网络流量的消耗。
Description
技术领域
本发明涉及通信技术领域,具体而言,涉及一种服务器、一种终端和一种消息推送方法。
背景技术
目前,通过网络传输消息的实时性要求越来越高,在通过网络平台传输消息时,经常遇到终端的网速不稳定或其他原因,导致终端上的应用处于离线状态,使得终端不能及时接收到消息。
相关技术中通过轮询的方式确保终端之间保持连接状态,但是该方式会增加终端的电量与网络流量的消耗。同时,若应用程序常驻后台接收消息,则会占用终端大量的内存,降低终端的运行速度,并且也增加了终端的功耗与网络流量的消耗。
因此,如何在终端与服务器断开连接时,确保终端能够及时接收到服务器推送的消息,以及降低终端的功耗与网络流量的消耗成为亟待解决的技术问题。
发明内容
本发明正是基于上述问题,提出了一种新的消息推送技术,可以确保终端在与服务器断开时,也能接收到离线消息的提示信息,以便于及时获取离线消息,同时可以降低终端的功耗与网络流量的消耗。
有鉴于此,本发明提出了一种服务器,包括:检测单元,用于实时检测所述服务器与终端的连接状态;交互单元,用于在所述检测单元检测到所述服务器与所述终端的连接断开时,将待发送至所述终端的离线消息发送至与所述终端建立连接的其他服务器,以供所述其他服务器提示所述终端获取所述离线消息。
在该技术方案中,服务器可以是消息推送服务器,通过在检测到与终端的连接断开时,将待发送至终端的离线消息发送至与终端建立连接的其他服务器(例如离线消息推送服务器),使得离线消息推送服务器可以向终端提示有未获取的离线消息,以便终端与消息推送服务器建立连接获取离线消息,避免了终端与消息推送服务器断开连接而无法及时接收到离线消息。
具体来说,离线消息推送服务器与终端建立的连接可以是长连接,只在离线消息推送服务器接收到消息推送服务器发送的离线消息时,才向终端发送相应的提示信息,避免了终端采用轮询的方式检测与消息推送服务器和/或离线消息推送服务器之间的连接而增加终端的功耗与网络流量的消耗。
在上述技术方案中,优选地,所述交互单元还用于:在接收到所述终端的连接请求时,建立所述服务器与所述终端之间的连接,并将所述离线消息发送至所述终端。
在该技术方案中,终端在接收到离线消息推送服务器发送的提示信息后,可以选择与消息推送服务器进行连接,以获取离线消息,消息推送服务器在接收到终端的连接请求时,与终端建立连接,并将离线消息发送至终端,以确保终端的使用者能够及时接收到离线消息。
根据本发明的另一方面,还提出了一种服务器,包括:交互单元,用于建立所述服务器与终端之间的长连接,并接收其他服务器发送的向所述终端推送的离线消息,以及根据所述离线消息,向所述终端发送提示信息,以使所述终端与所述其他服务器建立连接,并获取所述离线消息。
在该技术方案中,服务器可以是离线消息推送服务器,通过在接收到其他服务器(例如消息推送服务器)发送的向终端推送的离线消息时,向终端发送提示信息,使得终端能够在接收到提示信息时,与消息推送服务器建立连接获取离线消息,避免了终端与消息推送服务器断开连接而无法及时接收到离线消息。
离线消息推送服务器通过与终端建立长连接,使得离线消息推送服务器只在接收到消息推送服务器发送的离线消息时,才向终端发送相应的提示信息,避免了终端采用轮询的方式检测与消息推送服务器和/或离线消息推送服务器之间的连接而增加终端的功耗与网络流量的消耗。
其中,若用户有多个终端,则离线消息推送服务器可以与用户的多个终端建立连接,将离线消息的提示信息分别发送到用户的多个终端中(优选地,用户可以设置接收离线消息的提示信息的终端),以使得用户通过任一终端都能接收到离线消息的提示信息。
在上述技术方案中,优选地,还包括:检测单元,用于实时检测所述服务器与所述终端的连接状态;存储单元,用于在所述检测单元检测到所述服务器与所述终端断开连接时,存储所述离线消息;所述交互单元还用于:在所述检测单元检测到所述服务器与所述终端处于连接状态时,向所述终端发送所述提示信息。
在该技术方案中,通过在离线消息推送服务器与终端断开连接时,存储离线消息,使得离线消息推送服务器能够在与终端重新建立连接时,将离线消息的提示信息发送至终端,以使终端及时获取离线消息。
根据本发明的另一方面,还提出了一种终端,包括:交互单元,用于建立所述终端与服务器之间的长连接,并接收所述服务器发送的对另一个服务器推送的离线消息的提示信息,以及与所述另一个服务器建立连接,并接收所述另一个服务器发送的所述离线消息。
在该技术方案中,终端通过与服务器(例如离线消息推送服务器)建立长连接,使得在终端与消息推送服务器的连接断开时,能够及时接收到离线消息推送服务器发送的提示信息,从而及时与消息推送服务器建立连接,以获取离线消息。
终端通过与离线消息推送服务器建立长连接,使得离线消息推送服务器只在接收到消息推送服务器发送的离线消息时,才向终端发送相应的提示信息,避免了终端采用轮询的方式检测与消息推送服务器和/或离线消息推送服务器之间的连接而增加终端的功耗与网络流量的消耗。
在上述技术方案中,优选地,还包括:控制单元,用于检测是否接收到获取所述离线消息的指令,以及在接收到获取所述离线消息的指令时,控制所述交互单元建立所述终端与所述另一个服务器之间的连接。
在该技术方案中,离线消息推送服务器向终端发送的提示信息可能包含了离线消息的基本信息,比如部分消息内容(例如消息摘要等)、发送者名称、消息类型等,若用户在通过查看提示信息后,确定不需要获取离线消息,则无需使终端与消息推送服务器建立连接,从而降低终端的网络流量消耗。
根据本发明的另一方面,还提出了一种消息推送方法,包括:实时检测与终端的连接状态;在检测到与所述终端的连接断开时,将待发送至所述终端的离线消息发送至与所述终端建立连接的其他服务器,以供所述其他服务器提示所述终端获取所述离线消息。
在该技术方案中,(消息推送服务器)通过在检测到与终端的连接断开时,将待发送至终端的离线消息发送至与终端建立连接的其他服务器(例如离线消息推送服务器),使得离线消息推送服务器可以向终端提示有未获取的离线消息,以便终端与消息推送服务器建立连接获取离线消息,避免了终端与消息推送服务器断开连接而无法及时接收到离线消息。
具体来说,离线消息推送服务器与终端建立的连接可以是长连接,只在离线消息推送服务器接收到消息推送服务器发送的离线消息时,才向终端发送相应的提示信息,避免了终端采用轮询的方式检测与消息推送服务器和/或离线消息推送服务器之间的连接而增加终端的功耗与网络流量的消耗。
在上述技术方案中,优选地,在所述将待发送至所述终端的离线消息发送至与所述终端建立连接的其他服务器之后,还包括:在接收到所述终端的连接请求时,与所述终端建立连接,并将所述离线消息发送至所述终端。
在该技术方案中,终端在接收到离线消息推送服务器发送的提示信息后,可以选择与消息推送服务器进行连接,以获取离线消息,消息推送服务器在接收到终端的连接请求时,与终端建立连接,并将离线消息发送至终端,以确保终端的使用者能够及时接收到离线消息。
根据本发明的另一方面,还提出了一种消息推送方法,包括:与终端建立长连接;接收其他服务器发送的向所述终端推送的离线消息;根据所述离线消息,向所述终端发送提示信息,以使所述终端与所述其他服务器建立连接,并获取所述离线消息。
在该技术方案中,(离线消息推送服务器)通过在接收到其他服务器(例如消息推送服务器)发送的向终端推送的离线消息时,向终端发送提示信息,使得终端能够在接收到提示信息时,与消息推送服务器建立连接获取离线消息,避免了终端与消息推送服务器断开连接而无法及时接收到离线消息。
离线消息推送服务器通过与终端建立长连接,使得离线消息推送服务器只在接收到消息推送服务器发送的离线消息时,才向终端发送相应的提示信息,避免了终端采用轮询的方式检测与消息推送服务器和/或离线消息推送服务器之间的连接而增加终端的功耗与网络流量的消耗。其中,若用户有多个终端,则离线消息推送服务器可以与用户的多个终端建立连接,将离线消息的提示信息分别发送到用户的多个终端中(优选地,用户可以设置接收离线消息的提示信息的终端),以使得用户通过任一终端都能接收到离线消息的提示信息。
在上述技术方案中,优选地,在所述根据所述离线消息,向所述终端发送提示信息之前还包括:实时检测与所述终端的连接状态,在检测到与所述终端断开连接时,存储所述离线消息,以及在检测到与所述终端处于连接状态时,向所述终端发送所述提示信息。
在该技术方案中,通过在离线消息推送服务器与终端断开连接时,存储离线消息,使得离线消息推送服务器能够在与终端重新建立连接时,将离线消息的提示信息发送至终端,以使终端及时获取离线消息。
根据本发明的另一方面,还提出了一种消息推送方法,包括:与服务器建立长连接;接收所述服务器发送的对另一个服务器推送的离线消息的提示信息;与所述另一个服务器建立连接,并接收所述另一个服务器发送的所述离线消息。
在该技术方案中,终端通过与服务器(例如离线消息推送服务器)建立长连接,使得在终端与消息推送服务器的连接断开时,能够及时接收到离线消息推送服务器发送的提示信息,从而及时与消息推送服务器建立连接,以获取离线消息。
终端通过与离线消息推送服务器建立长连接,使得离线消息推送服务器只在接收到消息推送服务器发送的离线消息时,才向终端发送相应的提示信息,避免了终端采用轮询的方式检测与消息推送服务器和/或离线消息推送服务器之间的连接而增加终端的功耗与网络流量的消耗。
在上述技术方案中,优选地,在与所述另一个服务器建立连接之前,还包括:检测是否接收到获取所述离线消息的指令,若是,则与所述另一个服务器建立连接。
在该技术方案中,离线消息推送服务器向终端发送的提示信息可能包含了离线消息的基本信息,比如部分消息内容(例如消息摘要等)、发送者名称、消息类型等,若用户在通过查看提示信息后,确定不需要获取离线消息,则无需使终端与消息推送服务器建立连接,从而降低终端的网络流量消耗。
通过以上技术方案,可以确保终端在与服务器断开时,也能接收到离线消息的提示信息,以便于及时获取离线消息,同时可以降低终端的功耗与网络流量的消耗。
附图说明
图1示出了根据本发明的实施例的服务器的示意框图;
图2示出了根据本发明的另一个实施例的服务器的示意框图;
图3示出了根据本发明的实施例的终端的示意框图;
图4示出了根据本发明的实施例的消息推送方法的示意流程图;
图5示出了根据本发明的另一个实施例的消息推送方法的示意流程图;
图6示出了根据本发明的又一个实施例的消息推送方法的示意流程图;
图7示出了根据本发明的实施例的消息推送系统的结构示意图;
图8示出了根据本发明的另一个实施例的消息推送系统的结构示意图;
图9示出了根据本发明的实施例的发送终端的处理流程图;
图10示出了根据本发明的实施例的消息应用服务器的处理流程图;
图11示出了根据本发明的实施例的离线消息推送服务器的处理流程图;
图12示出了根据本发明的实施例的接收终端的处理流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的服务器的示意框图。
如图1所示,根据本发明的实施例的服务器100,包括:检测单元102,用于实时检测所述服务器100与终端的连接状态;交互单元104,用于在所述检测单元102检测到所述服务器100与所述终端的连接断开时,将待发送至所述终端的离线消息发送至与所述终端建立连接的其他服务器,以供所述其他服务器提示所述终端获取所述离线消息。
在该技术方案中,服务器100可以是消息推送服务器,通过在检测到与终端的连接断开时,将待发送至终端的离线消息发送至与终端建立连接的其他服务器(例如离线消息推送服务器),使得离线消息推送服务器可以向终端提示有未获取的离线消息,以便终端与消息推送服务器建立连接获取离线消息,避免了终端与消息推送服务器断开连接而无法及时接收到离线消息。
具体来说,离线消息推送服务器与终端建立的连接可以是长连接,只在离线消息推送服务器接收到消息推送服务器发送的离线消息时,才向终端发送相应的提示信息,避免了终端采用轮询的方式检测与消息推送服务器和/或离线消息推送服务器之间的连接而增加终端的功耗与网络流量的消耗。
在上述技术方案中,优选地,所述交互单元104还用于:在接收到所述终端的连接请求时,建立所述服务器100与所述终端之间的连接,并将所述离线消息发送至所述终端。
在该技术方案中,终端在接收到离线消息推送服务器发送的提示信息后,可以选择与消息推送服务器进行连接,以获取离线消息,消息推送服务器在接收到终端的连接请求时,与终端建立连接,并将离线消息发送至终端,以确保终端的使用者能够及时接收到离线消息。
图2示出了根据本发明的另一个实施例的服务器的示意框图。
如图2所示,根据本发明的另一个实施例的服务器200,包括:交互单元202,用于建立所述服务器200与终端之间的长连接,并接收其他服务器发送的向所述终端推送的离线消息,以及根据所述离线消息,向所述终端发送提示信息,以使所述终端与所述其他服务器建立连接,并获取所述离线消息。
在该技术方案中,服务器200可以是离线消息推送服务器,通过在接收到其他服务器(例如消息推送服务器)发送的向终端推送的离线消息时,向终端发送提示信息,使得终端能够在接收到提示信息时,与消息推送服务器建立连接获取离线消息,避免了终端与消息推送服务器断开连接而无法及时接收到离线消息。
离线消息推送服务器通过与终端建立长连接,使得离线消息推送服务器只在接收到消息推送服务器发送的离线消息时,才向终端发送相应的提示信息,避免了终端采用轮询的方式检测与消息推送服务器和/或离线消息推送服务器之间的连接而增加终端的功耗与网络流量的消耗。
其中,若用户有多个终端,则离线消息推送服务器可以与用户的多个终端建立连接,将离线消息的提示信息分别发送到用户的多个终端中(优选地,用户可以设置接收离线消息的提示信息的终端),以使得用户通过任一终端都能接收到离线消息的提示信息。
在上述技术方案中,优选地,还包括:检测单元204,用于实时检测所述服务器200与所述终端的连接状态;存储单元206,用于在所述检测单元204检测到所述服务器200与所述终端断开连接时,存储所述离线消息;所述交互单元202还用于:在所述检测单元204检测到所述服务器200与所述终端处于连接状态时,向所述终端发送所述提示信息。
在该技术方案中,通过在离线消息推送服务器与终端断开连接时,存储离线消息,使得离线消息推送服务器能够在与终端重新建立连接时,将离线消息的提示信息发送至终端,以使终端及时获取离线消息。
图3示出了根据本发明的实施例的终端的示意框图。
如图3所示,根据本发明的实施例的终端300,包括:交互单元302,用于建立所述终端300与服务器之间的长连接,并接收所述服务器发送的对另一个服务器推送的离线消息的提示信息,以及与所述另一个服务器建立连接,并接收所述另一个服务器发送的所述离线消息。
在该技术方案中,终端300通过与服务器(例如离线消息推送服务器)建立长连接,使得终端300在与消息推送服务器的连接断开时,能够及时接收到离线消息推送服务器发送的提示信息,从而及时与消息推送服务器建立连接,以获取离线消息。
终端300通过与离线消息推送服务器建立长连接,使得离线消息推送服务器只在接收到消息推送服务器发送的离线消息时,才向终端300发送相应的提示信息,避免了终端300采用轮询的方式检测与消息推送服务器和/或离线消息推送服务器之间的连接而增加终端300的功耗与网络流量的消耗。
在上述技术方案中,优选地,还包括:控制单元304,用于检测是否接收到获取所述离线消息的指令,以及在接收到获取所述离线消息的指令时,控制所述交互单元302建立所述终端300与所述另一个服务器之间的连接。
在该技术方案中,离线消息推送服务器向终端300发送的提示信息可能包含了离线消息的基本信息,比如部分消息内容(例如消息摘要等)、发送者名称、消息类型等,若用户在通过查看提示信息后,确定不需要获取离线消息,则无需使终端300与消息推送服务器建立连接,从而降低终端300的网络流量消耗。
图4示出了根据本发明的实施例的消息推送方法的示意流程图。
如图4所示,根据本发明的实施例的消息推送方法,包括:步骤402,实时检测与终端的连接状态;步骤404,在检测到与所述终端的连接断开时,将待发送至所述终端的离线消息发送至与所述终端建立连接的其他服务器,以供所述其他服务器提示所述终端获取所述离线消息。
在该技术方案中,(消息推送服务器)通过在检测到与终端的连接断开时,将待发送至终端的离线消息发送至与终端建立连接的其他服务器(例如离线消息推送服务器),使得离线消息推送服务器可以向终端提示有未获取的离线消息,以便终端与消息推送服务器建立连接获取离线消息,避免了终端与消息推送服务器断开连接而无法及时接收到离线消息。
具体来说,离线消息推送服务器与终端建立的连接可以是长连接,只在离线消息推送服务器接收到消息推送服务器发送的离线消息时,才向终端发送相应的提示信息,避免了终端采用轮询的方式检测与消息推送服务器和/或离线消息推送服务器之间的连接而增加终端的功耗与网络流量的消耗。
在上述技术方案中,优选地,在所述将待发送至所述终端的离线消息发送至与所述终端建立连接的其他服务器之后,还包括:在接收到所述终端的连接请求时,与所述终端建立连接,并将所述离线消息发送至所述终端。
在该技术方案中,终端在接收到离线消息推送服务器发送的提示信息后,可以选择与消息推送服务器进行连接,以获取离线消息,消息推送服务器在接收到终端的连接请求时,与终端建立连接,并将离线消息发送至终端,以确保终端的使用者能够及时接收到离线消息。
图5示出了根据本发明的另一个实施例的消息推送方法的示意流程图。
如图5所示,根据本发明的另一个实施例的消息推送方法,包括:步骤502,与终端建立长连接;步骤504,接收其他服务器发送的向所述终端推送的离线消息;步骤506,根据所述离线消息,向所述终端发送提示信息,以使所述终端与所述其他服务器建立连接,并获取所述离线消息。
在该技术方案中,(离线消息推送服务器)通过在接收到其他服务器(例如消息推送服务器)发送的向终端推送的离线消息时,向终端发送提示信息,使得终端能够在接收到提示信息时,与消息推送服务器建立连接获取离线消息,避免了终端与消息推送服务器断开连接而无法及时接收到离线消息。
离线消息推送服务器通过与终端建立长连接,使得离线消息推送服务器只在接收到消息推送服务器发送的离线消息时,才向终端发送相应的提示信息,避免了终端采用轮询的方式检测与消息推送服务器和/或离线消息推送服务器之间的连接而增加终端的功耗与网络流量的消耗。
其中,若用户有多个终端,则离线消息推送服务器可以与用户的多个终端建立连接,将离线消息的提示信息分别发送到用户的多个终端中(优选地,用户可以设置接收离线消息的提示信息的终端),以使得用户通过任一终端都能接收到离线消息的提示信息。
在上述技术方案中,优选地,在所述根据所述离线消息,向所述终端发送提示信息之前还包括:实时检测与所述终端的连接状态,在检测到与所述终端断开连接时,存储所述离线消息,以及在检测到与所述终端处于连接状态时,向所述终端发送所述提示信息。
在该技术方案中,通过在离线消息推送服务器与终端断开连接时,存储离线消息,使得离线消息推送服务器能够在与终端重新建立连接时,将离线消息的提示信息发送至终端,以使终端及时获取离线消息。
图6示出了根据本发明的又一个实施例的消息推送方法的示意流程图。
如图6所示,根据本发明的又一个实施例的消息推送方法,包括:步骤602,与服务器建立长连接;步骤604,接收所述服务器发送的对另一个服务器推送的离线消息的提示信息;步骤606,与所述另一个服务器建立连接,并接收所述另一个服务器发送的所述离线消息。
在该技术方案中,终端通过与服务器(例如离线消息推送服务器)建立长连接,使得在终端与消息推送服务器的连接断开时,能够及时接收到离线消息推送服务器发送的提示信息,从而及时与消息推送服务器建立连接,以获取离线消息。
终端通过与离线消息推送服务器建立长连接,使得离线消息推送服务器只在接收到消息推送服务器发送的离线消息时,才向终端发送相应的提示信息,避免了终端采用轮询的方式检测与消息推送服务器和/或离线消息推送服务器之间的连接而增加终端的功耗与网络流量的消耗。
在上述技术方案中,优选地,在与所述另一个服务器建立连接之前,还包括:检测是否接收到获取所述离线消息的指令,若是,则与所述另一个服务器建立连接。
在该技术方案中,离线消息推送服务器向终端发送的提示信息可能包含了离线消息的基本信息,比如部分消息内容(例如消息摘要等)、发送者名称、消息类型等,若用户在通过查看提示信息后,确定不需要获取离线消息,则无需使终端与消息推送服务器建立连接,从而降低终端的网络流量消耗。
图7示出了根据本发明的实施例的消息推送系统的结构示意图。
如图7所示,根据本发明的实施例的消息推送系统,包括:
发送客户端702,用于通过消息应用服务器706向接收客户端704发送消息。
接收客户端704,用于接收发送客户端702通过消息应用服务器706发送的消息。接收客户端中有离线消息推送守护进程7042,用于与离线消息推送服务器708建立长连接,在接收客户端704与消息应用服务器706断开连接时,接收离线消息推送服务器708发送的离线消息提示。
消息应用服务器706,分别与发送客户端702、接收客户端704,以及离线消息推送服务器708建立连接,在接收到客户端704发送的消息时,若与接收客户端704的连接未断开,则直接将发送客户端702发送的消息转发给接收客户端704,若与接收客户端704的连接断开,则将发送客户端702发送的消息发送至离线消息推送服务器708。离线消息推送服务器708在接收到消息应用服务器706发送的离线消息时,若与接收客户端704中的离线消息推送守护进程7042的连接未断开,则将离线消息的提示信息发送至接收客户端,若与接收客户端704中的离线消息推送守护进程7042的连接断开,则保存离线消息,以待与接收客户端704中的离线消息推送守护进程7042建立连接时,再将离线消息的提示信息发送至接收客户端704。
接收客户端704在接收到离线消息的提示信息时,可以选择与消息应用服务器706建立连接,并从消息应用服务器706中获取离线消息。
其中,离线消息的提示信息包括:消息摘要(例如选取最大长度为60个字节的消息内容)、消息长度、发送者名称、发送时间,消息类型、以及离线消息提示的方式,例如标准信息提示音、振动或仅显示离线消息数目等。
图8示出了根据本发明的另一个实施例的消息推送系统的结构示意图。
如图8所示,根据本发明的另一个实施例的消息推送系统,包括:
终端802与终端808,均可通过消息应用服务器804向其他终端发送消息。
其中终端802包括:消息接收模块8022,用于接收消息应用服务器804转发的其他终端发送的消息;离线消息接收模块8024,用于接收离线消息推送服务器806发送的离线消息提示;消息发送模块8026,用于通过消息应用服务器804向其他终端发送消息。
终端808包括:消息接收模块8082,用于接收消息应用服务器804转发的其他终端发送的消息;离线消息接收模块8084,用于接收离线消息推送服务器806发送的离线消息提示;消息发送模块8086,用于通过消息应用服务器804向其他终端发送消息。
消息应用服务器804,包括:消息接收模块8042,用于接收终端(比如终端802和/或终端808)发送至其他终端的消息;离线消息发送模块8044,用于在与接收终端的连接断开时,将离线消息发送至离线消息推送服务器806;消息发送模块8046,用于将发送终端发送的消息发送至接收终端。
离线消息推送服务器806,包括:离线消息接收模块8064,用于接收消息应用服务器804发送的离线消息;消息分发处理模块8062,用于对接收到的离线消息进行处理,并确定接收终端;离线消息发送模块8066,用于向接收终端发送离线消息的提示信息,以使接收终端根据离线消息提示从消息应用服务器804中获取离线消息;消息入库模块8068,用于在与接收终端的连接断开时,保存接收到的离线消息,以待与接收终端重新建立连接时,再发送离线消息提示。
下面结合图9至图12详细说明根据本发明的实施例的消息推送方案。
图9示出了根据本发明的实施例的发送终端的处理流程图。
如图9所示,根据本发明的实施例的发送终端的处理流程,包括:
步骤902,建立与消息应用服务器的连接。
步骤904,注册设备,登记终端中应用程序的客户端唯一标识号和终端序号,以供消息应用服务器确认发送消息的终端和客户端的标识号。
步骤906,发送消息,即将发送至接收终端的消息的发送至消息应用服务器,以使消息应用服务器转发至接收终端。
图10示出了根据本发明的实施例的消息应用服务器的处理流程图。
如图10所示,根据本发明的实施例的消息应用服务器的处理流程,包括:
步骤1002,与终端建立连接,即与发送终端和接收终端都建立连接。
步骤1004,接收终端的注册请求,注册请求中包括终端中应用程序的客户端唯一标识号和终端序号。
步骤1006,判断发送终端是否发送有消息,若是,则执行步骤1008,否则,继续检测判断。
步骤1008,在接收到发送终端发送的消息时,判断接收客户端是否在线,若是,则执行步骤1014,否则,执行步骤1010。
步骤1010,在判定接收客户端不在线时,确定接收客户端唯一标识号。
步骤1012,将离线消息和接收客户端的唯一标识号以HTTP的方式转发到离线消息推送服务器,以使离线消息推送服务器向接收客户端发送离线消息提示。
步骤1014,在判定接收终端在线时,直接将消息发送至接收客户端。
图11示出了根据本发明的实施例的离线消息推送服务器的处理流程图。
如图11所示,根据本发明的实施例的离线消息推送服务器的处理流程,包括:
步骤1102,接收消息应用服务器发送的离线消息推送请求。
步骤1104,判断与接收客户端的守护进程是否连接,若是,则执行步骤1106,否则,执行步骤1108。具体地,可以根据接收客户端的唯一标识号确定是否与接收客户端的守护进程连接。
步骤1106,在判定与接收客户端的守护进程连接时,将离线消息的提示信息推送至接收客户端,以使接收客户端根据离线消息的提示信息与消息应用服务器建立连接,并获取离线消息。
步骤1108,在判定与接收客户端的守护进程处于断开状态时,保存离线消息,以待与接收客户端的守护进程建立连接之后,再向接收客户端发送离线消息的提示信息。
在步骤1102之前,离线消息推送服务器与安装有接收客户端的接收终端建立连接(优选地,可以是长连接),登记接收终端的序号,并且可以对离线消息的提示信息的推送时间等选项进行设置。
离线消息推送服务器在向客户端发送离线消息的提示信息时,若根据客户端的唯一标识号确定同一个客户端在多个终端上登录,则可以根据用户的设置,向设置接收离线消息的提示信息的终端都发送离线消息,并记录已发送离线消息的提示信息的终端,以避免重复发送。
图12示出了根据本发明的实施例的接收终端的处理流程图。
如图12所示,根据本发明的实施例的接收终端的处理流程,包括:
步骤1202,建立与离线消息服务器的长连接,以在与消息应用服务器断开连接时,接收离线消息服务器发送的离线消息的提示信息。
步骤1204,登记接收终端中的客户端唯一标识号和终端序号。
步骤1206,等待消息接收。
步骤1208,接收消息,当与消息应用服务器的连接未断开时,直接接收消息应用服务器转发的发送终端发送的消息,当与消息应用服务器的连接断开时,接收离线消息服务器发送的离线消息提示信息,以从消息应用服务器中获取离线消息。
通过上述实施例的技术方案,解决了相关技术中,由于网络切换、不稳定造成终端与服务器断开连接时,无法及时收到消息、消息丢失、终端网络流量和电量消耗大的问题,确保终端在与服务器断开时,也能接收到离线消息的提示信息,以便于及时获取离线消息,同时可以降低终端的功耗与网络流量的消耗。
本领域的技术领域应该理解,上述实施例中的发送终端也可以作为接收终端,接收终端也可以作为发送终端。
以上结合附图详细说明了本发明的技术方案,考虑到相关技术中通过轮询的方式确保终端之间保持连接状态,但是该方式会增加终端的电量与网络流量的消耗。同时,若应用程序常驻后台接收消息,则会占用终端大量的内存,降低终端的运行速度,并且也增加了终端的功耗与网络流量的消耗。因此,本发明提出了一种新的消息推送技术,可以确保终端在与服务器断开时,也能接收到离线消息的提示信息,以便于及时获取离线消息,同时可以降低终端的功耗与网络流量的消耗。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种服务器,其特征在于,包括:
检测单元,用于实时检测所述服务器与终端的连接状态;
交互单元,用于在所述检测单元检测到所述服务器与所述终端的连接断开时,将待发送至所述终端的离线消息发送至与所述终端建立连接的其他服务器,以供所述其他服务器提示所述终端获取所述离线消息。
2.根据权利要求1所述的服务器,其特征在于,所述交互单元还用于:
在接收到所述终端的连接请求时,建立所述服务器与所述终端之间的连接,并将所述离线消息发送至所述终端。
3.一种服务器,其特征在于,包括:
交互单元,用于建立所述服务器与终端之间的长连接,并接收其他服务器发送的向所述终端推送的离线消息,以及
根据所述离线消息,向所述终端发送提示信息,以使所述终端与所述其他服务器建立连接,并获取所述离线消息。
4.根据权利要求3所述的服务器,其特征在于,还包括:
检测单元,用于实时检测所述服务器与所述终端的连接状态;
存储单元,用于在所述检测单元检测到所述服务器与所述终端断开连接时,存储所述离线消息;
所述交互单元还用于:在所述检测单元检测到所述服务器与所述终端处于连接状态时,向所述终端发送所述提示信息。
5.一种终端,其特征在于,包括:
交互单元,用于建立所述终端与服务器之间的长连接,并接收所述服务器发送的对另一个服务器推送的离线消息的提示信息,以及
与所述另一个服务器建立连接,并接收所述另一个服务器发送的所述离线消息。
6.根据权利要求5所述的终端,其特征在于,还包括:
控制单元,用于检测是否接收到获取所述离线消息的指令,以及在接收到获取所述离线消息的指令时,控制所述交互单元建立所述终端与所述另一个服务器之间的连接。
7.一种消息推送方法,其特征在于,包括:
实时检测与终端的连接状态;
在检测到与所述终端的连接断开时,将待发送至所述终端的离线消息发送至与所述终端建立连接的其他服务器,以供所述其他服务器提示所述终端获取所述离线消息。
8.根据权利要求7所述的消息推送方法,其特征在于,在所述将待发送至所述终端的离线消息发送至与所述终端建立连接的其他服务器之后,还包括:
在接收到所述终端的连接请求时,与所述终端建立连接,并将所述离线消息发送至所述终端。
9.一种消息推送方法,其特征在于,包括:
与终端建立长连接;
接收其他服务器发送的向所述终端推送的离线消息;
根据所述离线消息,向所述终端发送提示信息,以使所述终端与所述其他服务器建立连接,并获取所述离线消息。
10.一种消息推送方法,其特征在于,包括:
与服务器建立长连接;
接收所述服务器发送的对另一个服务器推送的离线消息的提示信息;
与所述另一个服务器建立连接,并接收所述另一个服务器发送的所述离线消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310751834.1A CN103685570A (zh) | 2013-12-27 | 2013-12-27 | 服务器、终端和消息推送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310751834.1A CN103685570A (zh) | 2013-12-27 | 2013-12-27 | 服务器、终端和消息推送方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103685570A true CN103685570A (zh) | 2014-03-26 |
Family
ID=50321844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310751834.1A Pending CN103685570A (zh) | 2013-12-27 | 2013-12-27 | 服务器、终端和消息推送方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103685570A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105141682A (zh) * | 2015-08-18 | 2015-12-09 | 广州华多网络科技有限公司 | 订阅事件提醒方法及装置 |
CN105827685A (zh) * | 2015-11-17 | 2016-08-03 | 广东亿迅科技有限公司 | 一种客户信息管理系统及方法 |
CN106790607A (zh) * | 2016-12-29 | 2017-05-31 | 北京奇虎科技有限公司 | 发送离线消息的方法及装置 |
CN107484232A (zh) * | 2017-08-21 | 2017-12-15 | 奇酷互联网络科技(深圳)有限公司 | 消息发送方法、系统、网络设备和可读存储介质 |
CN108173951A (zh) * | 2017-12-29 | 2018-06-15 | 北京奇虎科技有限公司 | 推送消息的方法和装置 |
CN108337274A (zh) * | 2017-01-19 | 2018-07-27 | 贵州白山云科技有限公司 | 一种消息分发方法和系统 |
CN108600085A (zh) * | 2018-04-04 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 消息发送和输出方法、装置、服务器、终端及存储介质 |
CN108989179A (zh) * | 2017-05-31 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 消息处理方法及装置、存储介质 |
CN110351383A (zh) * | 2019-07-18 | 2019-10-18 | 深圳市元征科技股份有限公司 | 业务处理方法、设备及可读存储介质 |
CN111935105A (zh) * | 2020-07-23 | 2020-11-13 | 深信服科技股份有限公司 | 一种审计方法、终端设备、网络设备及服务器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079849A (zh) * | 2007-06-29 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 即时通讯系统中发送离线消息的方法和系统 |
CN101360125A (zh) * | 2008-09-09 | 2009-02-04 | 深圳华为通信技术有限公司 | 一种基于分组域的推送消息方法和系统 |
WO2009054614A1 (en) * | 2007-10-04 | 2009-04-30 | Lg Electronics Inc. | Method for interworking between a cpm service and a non-cpm service |
CN102209302A (zh) * | 2011-07-07 | 2011-10-05 | 深圳市金立通信设备有限公司 | 一种实现移动终端信息推送的系统及方法 |
CN102413073A (zh) * | 2011-11-30 | 2012-04-11 | 中兴通讯股份有限公司 | 即时消息发送方法和装置 |
CN103391307A (zh) * | 2012-05-11 | 2013-11-13 | 阿里巴巴集团控股有限公司 | 离线数据的离线透传和显示方法、装置及系统 |
-
2013
- 2013-12-27 CN CN201310751834.1A patent/CN103685570A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079849A (zh) * | 2007-06-29 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 即时通讯系统中发送离线消息的方法和系统 |
WO2009054614A1 (en) * | 2007-10-04 | 2009-04-30 | Lg Electronics Inc. | Method for interworking between a cpm service and a non-cpm service |
CN101360125A (zh) * | 2008-09-09 | 2009-02-04 | 深圳华为通信技术有限公司 | 一种基于分组域的推送消息方法和系统 |
CN102209302A (zh) * | 2011-07-07 | 2011-10-05 | 深圳市金立通信设备有限公司 | 一种实现移动终端信息推送的系统及方法 |
CN102413073A (zh) * | 2011-11-30 | 2012-04-11 | 中兴通讯股份有限公司 | 即时消息发送方法和装置 |
CN103391307A (zh) * | 2012-05-11 | 2013-11-13 | 阿里巴巴集团控股有限公司 | 离线数据的离线透传和显示方法、装置及系统 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105141682A (zh) * | 2015-08-18 | 2015-12-09 | 广州华多网络科技有限公司 | 订阅事件提醒方法及装置 |
CN105827685A (zh) * | 2015-11-17 | 2016-08-03 | 广东亿迅科技有限公司 | 一种客户信息管理系统及方法 |
CN106790607A (zh) * | 2016-12-29 | 2017-05-31 | 北京奇虎科技有限公司 | 发送离线消息的方法及装置 |
CN106790607B (zh) * | 2016-12-29 | 2020-11-03 | 北京奇虎科技有限公司 | 发送离线消息的方法及装置 |
CN108337274A (zh) * | 2017-01-19 | 2018-07-27 | 贵州白山云科技有限公司 | 一种消息分发方法和系统 |
CN108989179A (zh) * | 2017-05-31 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 消息处理方法及装置、存储介质 |
CN108989179B (zh) * | 2017-05-31 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 消息处理方法及装置、存储介质 |
CN107484232A (zh) * | 2017-08-21 | 2017-12-15 | 奇酷互联网络科技(深圳)有限公司 | 消息发送方法、系统、网络设备和可读存储介质 |
CN108173951A (zh) * | 2017-12-29 | 2018-06-15 | 北京奇虎科技有限公司 | 推送消息的方法和装置 |
CN108173951B (zh) * | 2017-12-29 | 2021-05-21 | 北京奇虎科技有限公司 | 推送消息的方法和装置 |
CN108600085A (zh) * | 2018-04-04 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 消息发送和输出方法、装置、服务器、终端及存储介质 |
CN110351383A (zh) * | 2019-07-18 | 2019-10-18 | 深圳市元征科技股份有限公司 | 业务处理方法、设备及可读存储介质 |
CN111935105A (zh) * | 2020-07-23 | 2020-11-13 | 深信服科技股份有限公司 | 一种审计方法、终端设备、网络设备及服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103685570A (zh) | 服务器、终端和消息推送方法 | |
EP2448206B1 (en) | Method, system and device for transmitting video data | |
CN103095732B (zh) | 信息推送系统和信息推送方法 | |
CN100438651C (zh) | 即时消息服务器、客户端、处理系统及处理方法 | |
US8099510B2 (en) | Relay device and program product, allowing continued communication via an alternative protocol | |
US9237077B2 (en) | Monitoring persistent client connection status in a distributed server environment | |
CN105825409B (zh) | 一种电子发票消息推送系统及方法 | |
CN115004673B (zh) | 消息推送方法、装置、电子设备及计算机可读介质 | |
CA2499524A1 (en) | Apparatus and method of wireless instant messaging | |
CN107995247B (zh) | 一种文件传输方法、服务器及系统 | |
CN103139818A (zh) | 一种aos中保持长连接的方法、系统、aoe、aog及终端 | |
CN111064552B (zh) | 智能设备控制方法、装置、电子设备和存储介质 | |
CN102209039A (zh) | 一种文件传输方法及设备 | |
CN102651701A (zh) | 建立音视频通讯连接的方法和装置 | |
CN105991412A (zh) | 消息推送方法及装置 | |
CN103312593B (zh) | 一种消息分发系统及方法 | |
CN105337973A (zh) | 消息交互方法及其系统 | |
CN108880972B (zh) | 一种信息处理方法、服务器及终端 | |
CN111541555A (zh) | 群聊优化方法及相关产品 | |
CN105072148B (zh) | 与终端建立连接的方法及装置 | |
CN101800677B (zh) | 一种双向转发检测报文的处理装置及方法 | |
CN108632355B (zh) | 一种家电网络选路方法、控制终端、可读存储介质及设备 | |
CN103581131A (zh) | 一种移动环境下处理自动重复登录的方法 | |
CN110933775A (zh) | 一种建立信号连接的方法、装置和电子设备 | |
KR101940725B1 (ko) | Dlna 기기 간 오류 처리 방법 및 이를 이용한 미디어 스트리밍 서비스 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140326 |
|
RJ01 | Rejection of invention patent application after publication |