CN105323205A - 消息推送处理方法、装置、推送服务器及应用服务器 - Google Patents
消息推送处理方法、装置、推送服务器及应用服务器 Download PDFInfo
- Publication number
- CN105323205A CN105323205A CN201410240145.9A CN201410240145A CN105323205A CN 105323205 A CN105323205 A CN 105323205A CN 201410240145 A CN201410240145 A CN 201410240145A CN 105323205 A CN105323205 A CN 105323205A
- Authority
- CN
- China
- Prior art keywords
- message
- push
- terminal
- server
- push message
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
Abstract
本发明提供了一种消息推送处理方法、装置、推送服务器及应用服务器,其中,该方法包括:获取用于推送的推送消息;确定推送消息推送的目标终端;采用用户数据报协议UDP消息的方式,将推送消息推送给目标终端,通过本发明,解决了相关技术中,服务器采用HTTP协议向终端推送消息存在性能消耗大,以及推送效率低下的问题,进而达到了降低系统性能消耗,以及提高推送效率的效果。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种消息推送处理方法、装置、推送服务器及应用服务器。
背景技术
目前,在很多应用当中,服务器需要向客户端主动发送消息,早期的实现技术是客户端通过轮询(Polling)技术不断刷新到服务器来获得最新的数据,这种方式每次都要建立新的超文本传输协议(HypertextTransferProtocol,简称为HTTP)连接,有一定的延迟,这种延迟使得频繁信息传递的应用无法忍受。最近的服务器推送技术则是客户端和服务器保持持久的连接,服务器通过该连接随时可以向客户端发送信息,不过对于这种HTTP长连接的方式,当系统中终端数很多时,服务器侧要维护大量的HTTP长连接,对于服务器的性能消耗比较大,一台服务器可服务的终端数就会下降。
因此,在相关技术中,服务器采用HTTP协议向终端推送消息存在性能消耗大,以及推送效率低下的问题。
发明内容
本发明提供了一种消息推送处理方法、装置、推送服务器及应用服务器,以至少解决相关技术中,服务器采用HTTP协议向终端推送消息存在性能消耗大,以及推送效率低下的问题。
根据本发明的一个方面,提供了一种消息推送处理方法,包括:获取用于推送的推送消息;确定所述推送消息推送的目标终端;采用用户数据报协议UDP消息的方式,将所述推送消息推送给所述目标终端。
优选地,采用所述UDP消息的方式,将所述推送消息推送给所述目标终端包括:在将所述推送消息推送给所述目标终端后,判断在预定时间内是否接收到所述目标终端发送的用于确定接收到所述推送消息的回复响应消息;在判断结果为否的情况下,重新向所述目标终端推送所述推送消息。
优选地,在将所述推送消息推送给所述目标终端后,判断在所述预定时间内是否接收到所述目标终端发送的用于确定接收到所述推送消息的回复响应消息包括:在将所述推送消息推送给所述目标终端后,将所述推送消息存入一有序队列中;在接收到所述推送消息的所述回复响应消息时,将所述推送消息从所述有序队列中删除;判断在所述预定时间内是否扫描到所述推送消息;在判断结果为是的情况下,确定向所述目标终端推送所述推送消息失败。
根据本发明的另一方面,提供了一种消息推送处理方法,包括:向一个或多个推送服务器广播推送消息;接收到的所述一个或多个推送服务器推送所述推送消息的回复消息,其中,所述一个或多个推送服务器采用用户数据报协议UDP消息的方式,将所述推送消息推送给终端。
优选地,在向所述一个或多个推送服务器广播所述推送消息之前,还包括:依据预定负载均衡条件,为所述一个或多个推送服务器分配推送消息的终端。
优选地,在接收到的所述一个或多个推送服务器推送所述推送消息的所述回复消息之后,还包括:依据所述回复消息判断存在消息推送失败的下线终端;在判断结果为是的情况下,保存所述推送消息,以及所述推送消息推送失败的所述下线终端;判断在所述下线终端再次上线时,所述下线终端对应的原推送服务器是否处于挂起状态;在判断结果为是的情况下,通过为再次上线的所述下线终端分配的新推送服务器推送所述推送消息;和/或,在判断结果为否的情况下,采用所述原推送服务器为再次上线的所述下线终端推送所述推送消息。
根据本发明的再一方面,提供了一种消息推送处理装置,包括:获取模块,用于获取用于推送的推送消息;确定模块,用于确定所述推送消息推送的目标终端;第一推送模块,用于采用用户数据报协议UDP消息的方式,将所述推送消息推送给所述目标终端。
优选地,所述第一推送模块包括:判断单元,用于在将所述推送消息推送给所述目标终端后,判断在预定时间内是否接收到所述目标终端发送的用于确定接收到所述推送消息的回复响应消息;推送单元,用于在所述判断单元的判断结果为否的情况下,重新向所述目标终端推送所述推送消息。
优选地,所述判断单元包括:存储子单元,用于在将所述推送消息推送给所述目标终端后,将所述推送消息存入一有序队列中;删除子单元,用于在接收到所述推送消息的所述回复响应消息时,将所述推送消息从所述有序队列中删除;判断子单元,用于判断在所述预定时间内是否扫描到所述推送消息;确定子单元,用于在所述判断子单元的判断结果为是的情况下,确定向所述目标终端推送所述推送消息失败。
根据本发明的还一方面,提供了一种推送服务器,包括上述任一项所述的装置。
根据本发明的又一方面,提供了一种消息推送处理装置,包括:广播模块,用于向一个或多个推送服务器广播推送消息;接收模块,用于接收到的所述一个或多个推送服务器推送所述推送消息的回复消息,其中,所述一个或多个推送服务器采用用户数据报协议UDP消息的方式,将所述推送消息推送给终端。
优选地,该装置还包括:分配模块,用于依据预定负载均衡条件,为所述一个或多个推送服务器分配推送消息的终端。
优选地,该装置还包括:第二判断模块,用于依据所述回复消息判断存在消息推送失败的下线终端;存储模块,用于在所述第二判断模块的判断结果为是的情况下,保存所述推送消息,以及所述推送消息推送失败的所述下线终端;第三判断模块,用于判断在所述下线终端再次上线时,所述下线终端对应的原推送服务器是否处于挂起状态;第二推送模块,用于在所述第三判断模块的判断结果为是的情况下,通过为再次上线的所述下线终端分配的新推送服务器推送所述推送消息;和/或,第三推送模块,用于在所述第三判断模块的判断结果为否的情况下,采用所述原推送服务器为再次上线的所述下线终端推送所述推送消息。
根据本发明的还一方面,提供了一种应用服务器,包括上述任一项所述的装置。
通过本发明,采用获取用于推送的推送消息;确定所述推送消息推送的目标终端;采用用户数据报协议UDP消息的方式,将所述推送消息推送给所述目标终端,解决了相关技术中,服务器采用HTTP协议向终端推送消息存在性能消耗大,以及推送效率低下的问题,进而达到了降低系统性能消耗,以及提高推送效率的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的消息推送处理方法一的流程图;
图2是根据本发明实施例的消息推送处理方法二的流程图;
图3是根据本发明实施例的消息推送处理装置一的结构框图;
图4是根据本发明实施例的消息推送处理装置一中第一推送模块36的优选结构框图;
图5是根据本发明实施例的消息推送处理装置一中第一推送模块36中判断单元42的优选结构框图;
图6是根据本发明实施例的推送服务器的结构框图;
图7是根据本发明实施例的消息推送处理装置二的结构框图;
图8是根据本发明实施例的消息推送处理装置二的优选结构框图一;
图9是根据本发明实施例的消息推送处理装置二的优选结构框图二;
图10是根据本发明实施例的应用服务器的结构框图;
图11是根据本发明实施例的采用UDP协议的分布式消息推送系统架构图;
图12是根据本发明优选实施方式的消息推送方法的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种消息推送处理方法,图1是根据本发明实施例的消息推送处理方法一的流程图,如图1所示,该流程包括如下步骤:
步骤S102,获取用于推送的推送消息;
步骤S104,确定推送消息推送的目标终端;
步骤S106,采用用户数据报协议UDP消息的方式,将推送消息推送给目标终端。
通过上述步骤,对于推送服务器而言,通过UDP消息的方式,将推送消息推送给目标终端,相对于相关技术中,采用HTTP消息的方式推送消息,不仅解决了相关技术中HTTP协议向终端推送消息存在性能消耗大,以及推送效率低下的问题,进而达到了降低系统性能消耗,以及提高推送效率的效果。
为了确保推送的成功,在采用UDP消息的方式,将推送消息推送给目标终端时,可以采用以下处理:在将推送消息推送给目标终端后,判断在预定时间内是否接收到目标终端发送的用于确定接收到推送消息的回复响应消息;在预定时间内接收到目标终端反馈的接收到推送消息的回复响应消息时,可以确定推送消息成功。而在判断结果为否的情况下,重新向目标终端推送推送消息。需要说明的是,可以多次采用上述判断步骤进行确认,在多次均没有接收到目标终端的回复响应消息时,才放弃对该目标终端的消息推送。
其中,在将推送消息推送给目标终端后,判断在预定时间内是否接收到目标终端发送的用于确定接收到推送消息的回复响应消息可以采用多种处理方式,例如,可以采用消息队列的处理方式来完成:在将推送消息推送给目标终端后,将推送消息存入一有序队列中;在接收到推送消息的回复响应消息时,将推送消息从有序队列中删除;之后,判断在预定时间内是否扫描到推送消息;在判断结果为是的情况下,确定向目标终端推送推送消息失败。
在本实施例中,还提供了一种消息推送处理方法,图2是根据本发明实施例的消息推送处理方法二的流程图,如图2所示,该流程包括如下步骤:
步骤S202,向一个或多个推送服务器广播推送消息;
步骤S204,接收到的一个或多个推送服务器推送推送消息的回复消息,其中,一个或多个推送服务器采用用户数据报协议UDP消息的方式,将推送消息推送给终端。
通过上述步骤,对于应用服务器而言,通过向一个或多个推送服务器广播推送消息,之后由该一个或多个推送服务器通过UDP消息的方式,将推送消息推送给目标终端,相对于相关技术中,采用HTTP消息的方式推送消息,不仅有效地解决了相关技术中HTTP协议向终端推送消息存在性能消耗大,以及推送效率低下的问题,进而达到了降低系统性能消耗,以及提高推送效率的效果。
优选地,在向一个或多个推送服务器广播推送消息之前,还可以依据预定负载均衡条件,为一个或多个推送服务器分配推送消息的终端,使得系统性能均衡,有效避免冲突与浪费。
对于终端是否接收到该推送消息,或者说为了确保终端接收到该推送消息,可以在接收到的一个或多个推送服务器推送推送消息的回复消息之后,依据上述回复消息判断存在消息推送失败的下线终端;在判断结果为是的情况下,在应用服务器保存推送消息,以及推送消息推送失败的下线终端;之后,判断在下线终端再次上线时,下线终端对应的原推送服务器是否处于挂起状态(即原推送服务器不再向终端推送推送消息);在判断结果为是的情况下,通过为再次上线的下线终端分配的新推送服务器推送推送消息;和/或,在判断结果为否的情况下,采用原推送服务器为再次上线的下线终端推送推送消息。通过上述处理,有效地解决了相关技术中对于没有接收到推送消息的下线终端,在下次上线时并且被分配到新的推送服务器时无法接收原推送消息的问题,成功实现了下线终端的重新推送,在一定程度上较高地提高了用户体验。
在本实施例中还提供了一种消息推送处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的消息推送处理装置一的结构框图,如图3所示,该装置包括获取模块32、确定模块34和第一推送模块36,下面对该装置进行说明。
获取模块32,用于获取用于推送的推送消息;确定模块34,连接至上述获取模块32,用于确定推送消息推送的目标终端;第一推送模块36,连接至上述确定模块34,用于采用用户数据报协议UDP消息的方式,将推送消息推送给目标终端。
图4是根据本发明实施例的消息推送处理装置一中第一推送模块36的优选结构框图,如图4所示,该第一推送模块36包括判断单元42和推送单元44,下面对该第一推送模块36进行说明。
判断单元42,用于在将推送消息推送给目标终端后,判断在预定时间内是否接收到目标终端发送的用于确定接收到推送消息的回复响应消息;推送单元44,连接至上述判断单元42,用于在上述判断单元42的判断结果为否的情况下,重新向目标终端推送推送消息。
图5是根据本发明实施例的消息推送处理装置一中第一推送模块36中判断单元42的优选结构框图,如图5所示,该判断单元42包括:存储子单元52、删除子单元54、判断子单元56和确定子单元58,下面对该判断单元42进行说明。
存储子单元52,用于在将推送消息推送给目标终端后,将推送消息存入一有序队列中;删除子单元54,连接至上述存储子单元52,用于在接收到推送消息的回复响应消息时,将推送消息从有序队列中删除;判断子单元56,连接至上述删除子单元54,用于判断在预定时间内是否扫描到推送消息;确定子单元58,连接至上述判断子单元56,用于在判断子单元的判断结果为是的情况下,确定向目标终端推送推送消息失败。
图6是根据本发明实施例的推送服务器的结构框图,如图6所示,该推送服务器60包括上述任一项的消息推送处理装置一62。
图7是根据本发明实施例的消息推送处理装置二的结构框图,如图7所示,该装置包括广播模块72和接收模块74,下面对该装置进行说明。
广播模块72,用于向一个或多个推送服务器广播推送消息;接收模块74,连接至上述广播模块72,用于接收到的一个或多个推送服务器推送推送消息的回复消息,其中,一个或多个推送服务器采用用户数据报协议UDP消息的方式,将推送消息推送给终端。
图8是根据本发明实施例的消息推送处理装置二的优选结构框图一,如图8所示,该装置除包括图7所示的所有结构外,还包括分配模块82,下面对该分配模块82进行说明。
分配模块82,连接至上述广播模块72,用于依据预定负载均衡条件,为一个或多个推送服务器分配推送消息的终端。
图9是根据本发明实施例的消息推送处理装置二的优选结构框图二,如图9所示,该装置除包括图7所示的所有结构外,还包括第二判断模块90、存储模块92、第三判断模块94第二推送模块96和/或第三推送模块98,下面对该装置进行说明。
第二判断模块90,连接至上述接收模块74,用于依据回复消息判断存在消息推送失败的下线终端;存储模块92,连接至上述第二判断模块90,用于在第二判断模块的判断结果为是的情况下,保存推送消息,以及推送消息推送失败的下线终端;第三判断模块94,连接至上述存储模块92,用于判断在下线终端再次上线时,下线终端对应的原推送服务器是否处于挂起状态;第二推送模块96,连接至上述第三判断模块94,用于在第三判断模块的判断结果为是的情况下,通过为再次上线的下线终端分配的新推送服务器推送推送消息;和/或,第三推送模块98,连接至上述第三判断模块94,用于在第三判断模块的判断结果为否的情况下,采用原推送服务器为再次上线的下线终端推送推送消息。
图10是根据本发明实施例的应用服务器的结构框图,如图10所示,该应用服务器100包括上述任一项的消息推送处理装置二102。
针对相关技术中,服务器采用向终端推送消息存在性能消耗大,以及推送效率低下的问题的,由于采用传统的HTTP协议,则会造成服务器性能压力大,可服务的用户数降低,因此,相对于相关技术中基于传输控制协议(TransferControlProtocol,简称为TCP)方式的消息推送系统而言,在本实施例中采用(UserDatagramProtocol,用户数据报协议)进行消息推送,降低了服务器的性能消耗,提升了服务器的消息推送能力。该基于UDP协议的分布式消息推送方案中,由于UDP协议属于无连接的协议,推送服务器不需要维护大量的连接,性能消耗相对于HTTP方式降低很多,同时系统属于分布式的,可以支撑大量用户(即服务器的吞吐量大大增加),容错性也比较好,当某个服务器挂掉后,用户的服务不受影响。
图11是根据本发明实施例的采用UDP协议的分布式消息推送系统架构图,如图11所示,该系统包括管理平台112、接入服务器114、一个或多个推送服务器116及一个或多个终端118,下面对该系统进行说明。
管理平台112:提供web界面供操作人员操作,操作人员可以通过该web界面选择向哪些终端或者某一类终端发送消息。
接入服务器114:承担三个功能,一是作为管理者,管理系统中的消息推送服务器,消息推送服务器是分布式的,系统中可能存在多台,多台推送服务器由接入服务器进行管理;二是为终端进行负载均衡,当终端接入消息推送系统时,首先到接入服务器进行负载均衡,接入服务器会为终端分配一台推送服务器;三是作为管理平台和消息推送服务器之间的中转模块,管理平台有消息要推送给终端时,将消息发给接入服务器,接入服务器再广播给推送服务器。
推送服务器16:直接和终端进行交互,主要负责终端数据的管理和向终端进行消息推送。其接收终端的注册消息,维护终端的相关信息,并接收终端的心跳消息,维护终端的在线状态信息,在一定的时间内如果没有收到终端的心跳消息,则将该终端置为离线状态,当有消息需要推送时,推送服务器根据消息大小和目标终端,生成相应的推送消息,将推送消息推送给终端。
需要说明的是,该系统可以和IPTV业务系统独立部署,本系统的消息来源可以有两个方面,一个是操作员在管理平台进行操作,另外,IPTV业务系统也可以通过接口向接入服务器发送消息,IPTV系统下发消息推送请求,消息系统的接入服务器接收到推送消息请求后,由于接入服务器不保存终端的负载均衡结果,其不知道目标终端分配在哪些推送服务器上,因此接入服务器只能将推送请求广播给所有推送服务器,由各个推送服务器判别推送终端是否在本服务器上,如果有,则获取目标终端的相关信息,向目标终端进行消息推送,而如果没有,则回复接入服务器目标终端不存在。而对于消息推送,推送成功,则给接入服务器回复推送成功,反之,回复推送失败的终端列表,接入服务器会将各个推送服务器的回复信息进行汇总,给业务系统或者管理平台回复推送结果。
推送服务器在进行消息推送时采用UDP协议,考虑到UDP传输的特点,对于1K大小的消息,需要对消息进行分片,一个消息分成多个分片推送给终端,终端的APP应用在收到分片数据后,进行消息的组装,还原成原始的消息。推送服务器推送给终端的消息包括:消息的ID、消息总的大小、消息总的分片数、消息的index(也就是属于原始消息的第几个分片)、实际的分片数据,终端在收到UDP消息后,根据消息头确定消息是否完整,如果有多个分片数据,则需要等多个分片数据都接收完后,将消息头去掉,将分片数据中的消息体拼装成一个完成的原始消息。
对于推送服务器收到的推送消息,推送服务器将消息存放到原始消息队列里,推送服务器需要对原始消息队列进行处理,生成待发送消息队列,然后取待发送消息队列里的消息进行发送。IPTV消息推送分为多种形式,比如,全网用户推送、单个或者多个指定用户推送、按用户分组推送、按IP地址段推送、按用户级别推送等,因此对于原始消息,除了指定用户发送外,其他推送方式都需要推送服务器自身生成目标终端列表,用户的分组、级别等信息都由终端到推送服务器注册时上报给推送服务器,推送服务器根据对用户信息建立相关的索引,当比如指定用户分组推送时,推送服务器根据用户分组索引找到所有属于该分组的用户,从而生成目标终端列表,另外,对消息进行分片,单个分片和单个终端生成一个待发送消息-终端的映射关系,将该映射关系加入到待发送消息队列里,推送服务器对该队列进行扫描,取出消息发送给对应的终端。
推送消息的超时和重传管理:UDP协议属于不可靠的协议,在传输过程中可能会出现丢包,因此对于每个推送消息,均需要终端进行应答,为保证消息的推送成功。当UDP消息发送出去后,将消息从待发送队列里移到一有序队列里,排序的准则是消息发送的时间,当终端回复响应消息后,推送系统会从该有序队列里把对应的推送消息删除掉。推送系统定时扫描该有序队列,从头开始遍历,将当初时间和消息发送时间进行比较,如果超出超时时间,则将该消息重新放入到待发送消息队列里,推送系统会重新发送该消息,对于每个消息设定一个最大重发送次数,当重发次数超过最大重发送次数后,则不再重发,将该消息发送的状态置为失败。
离线用户上线后消息重新推送:对于需要推送消息的消息分级别,高级别的推送消息,则必须要推送到终端,即使终端下线了,推送消息也要保留,等该终端上线后,推送服务器需要重新将消息推送给终端,而对于低级别的,如果推送失败,则取消推送,后续也不再推送。但是对于推送失败的消息如何保存和重新推送,不能简单的把失败消息保存在推送失败的推送服务器上,这是因为对于下线终端重新上线,如果在这期间,推送服务器的数目发生了变化,在该终端在重新上线时可能会被分配到另外一台推送服务器上,而该推送服务器由于上次消息推送都是成功的,因此不再保留该消息,这样之前的离线消息就再也没法推送给该终端。因此在本实施例中,对于推送失败的终端,接入服务器收到推送服务器的上报后会进行保存,当下线终端重新上线时,首先要到接入服务器进行负载均衡,接入服务器会在自身保持的推送失败的终端列表中查询该终端是否在其中,如果不在,则直接分配一台推送服务器给终端,而如果在,则接入服务器在给终端分配推送服务器的同时,还会将推送失败的消息发送给所分配的推送服务器,这样当终端到推送服务器注册时,该推送服务器就会把上次推送失败的消息重新发送给该终端。
其中,在本发明实施例所提供的分布式的消息推送系统中,其中的接入服务器也可以作为消息入口,将原始消息广播给推送服务器,推送服务器根据原始消息中要推送的目标终端查询目标终端的相关信息,通过UDP协议将消息推送给目标终端。
上述实施例及优选实施方式所提供的基于UDP协议的IPTV消息推送方案,不仅有效解决了采用HTTP连接方式造成的服务器性能消耗过大的问题,而且解决了当终端下线导致推送失败,而当终端重新上线时,推送服务器数目发生变化,该终端被负载均衡到另外一台推送服务器上,从而导致上次推送失败的消息再也无法重新推送的问题。
下面对本发明的一个优选实施方式进行说明。
图12是根据本发明优选实施方式的消息推送方法的流程图,如图12所示,该流程包括如下步骤:
步骤S1202,推送服务器在启动后,和接入服务器建立长连接,将自身的信息上报给接入服务器;
步骤S1204,推送服务器定时发送心跳给接入服务器,维护和接入服务器之间的长连接;
步骤S1206,终端启动IPTV的app应用后,到消息系统进行登记注册,将自身的相关信息报给推送服务器;
步骤S1208,终端定时发送UDP心跳给推送服务器,维护自身的在线状态;
步骤S1210,管理平台或者业务系统将需要推送的消息推送给接入服务器;
步骤S1212,接入服务器将需要推送的消息广播给推送服务器;
步骤S1214,推送服务器在收到推送请求后,进行相应处理:推送服务器在自身维护的终端数据中查询目标终端的相关信息,如果没有查询到,则给接入服务器回复目标终端不存在;查询到目标终端信息后,对大于1K的原始消息进行分片处理,生成分片和推送终端之间的一一对应关系,放入到待发送消息队列里;
步骤S1216,推送服务器取待发送消息队列里的消息通过UDP协议向终端推送;
步骤S218,终端在收到UDP消息后,回复响应给推送服务器,并判断是否收包完整,如果完整,则恢复成原始消息;
步骤S1220,推送服务器根据在超时时间内是否收到响应来决定是否要重发UDP消息;
步骤S1222,推送服务器将推送结果返回给接入服务器,接入服务器在收到所有推送服务器的回复消息后,将结果返回给管理平台或者IPTV业务系统,同时对于高级别的推送消息,由于是终端不在线导致的推送失败,接入服务器会保存推送失败终端列表,当终端重新上线时,接入服务器会把该消息重新发送给分配给该终端的推送服务器,从而让该推送服务器重新将消息推送下去。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种消息推送处理方法,其特征在于,包括:
获取用于推送的推送消息;
确定所述推送消息推送的目标终端;
采用用户数据报协议UDP消息的方式,将所述推送消息推送给所述目标终端。
2.根据权利要求1所述的方法,其特征在于,采用所述UDP消息的方式,将所述推送消息推送给所述目标终端包括:
在将所述推送消息推送给所述目标终端后,判断在预定时间内是否接收到所述目标终端发送的用于确定接收到所述推送消息的回复响应消息;
在判断结果为否的情况下,重新向所述目标终端推送所述推送消息。
3.根据权利要求2所述的方法,其特征在于,在将所述推送消息推送给所述目标终端后,判断在所述预定时间内是否接收到所述目标终端发送的用于确定接收到所述推送消息的回复响应消息包括:
在将所述推送消息推送给所述目标终端后,将所述推送消息存入一有序队列中;
在接收到所述推送消息的所述回复响应消息时,将所述推送消息从所述有序队列中删除;
判断在所述预定时间内是否扫描到所述推送消息;
在判断结果为是的情况下,确定向所述目标终端推送所述推送消息失败。
4.一种消息推送处理方法,其特征在于,包括:
向一个或多个推送服务器广播推送消息;
接收到的所述一个或多个推送服务器推送所述推送消息的回复消息,其中,所述一个或多个推送服务器采用用户数据报协议UDP消息的方式,将所述推送消息推送给终端。
5.根据权利要求4所述的方法,其特征在于,在向所述一个或多个推送服务器广播所述推送消息之前,还包括:
依据预定负载均衡条件,为所述一个或多个推送服务器分配推送消息的终端。
6.根据权利要求4或5所述的方法,其特征在于,在接收到的所述一个或多个推送服务器推送所述推送消息的所述回复消息之后,还包括:
依据所述回复消息判断存在消息推送失败的下线终端;
在判断结果为是的情况下,保存所述推送消息,以及所述推送消息推送失败的所述下线终端;
判断在所述下线终端再次上线时,所述下线终端对应的原推送服务器是否处于挂起状态;
在判断结果为是的情况下,通过为再次上线的所述下线终端分配的新推送服务器推送所述推送消息;和/或,在判断结果为否的情况下,采用所述原推送服务器为再次上线的所述下线终端推送所述推送消息。
7.一种消息推送处理装置,其特征在于,包括:
获取模块,用于获取用于推送的推送消息;
确定模块,用于确定所述推送消息推送的目标终端;
第一推送模块,用于采用用户数据报协议UDP消息的方式,将所述推送消息推送给所述目标终端。
8.根据权利要求7所述的装置,其特征在于,所述第一推送模块包括:
判断单元,用于在将所述推送消息推送给所述目标终端后,判断在预定时间内是否接收到所述目标终端发送的用于确定接收到所述推送消息的回复响应消息;
推送单元,用于在所述判断单元的判断结果为否的情况下,重新向所述目标终端推送所述推送消息。
9.根据权利要求8所述的装置,其特征在于,所述判断单元包括:
存储子单元,用于在将所述推送消息推送给所述目标终端后,将所述推送消息存入一有序队列中;
删除子单元,用于在接收到所述推送消息的所述回复响应消息时,将所述推送消息从所述有序队列中删除;
判断子单元,用于判断在所述预定时间内是否扫描到所述推送消息;
确定子单元,用于在所述判断子单元的判断结果为是的情况下,确定向所述目标终端推送所述推送消息失败。
10.一种推送服务器,其特征在于,包括权利要求7至9中任一项所述的装置。
11.一种消息推送处理装置,其特征在于,包括:
广播模块,用于向一个或多个推送服务器广播推送消息;
接收模块,用于接收到的所述一个或多个推送服务器推送所述推送消息的回复消息,其中,所述一个或多个推送服务器采用用户数据报协议UDP消息的方式,将所述推送消息推送给终端。
12.根据权利要求11所述的装置,其特征在于,还包括:
分配模块,用于依据预定负载均衡条件,为所述一个或多个推送服务器分配推送消息的终端。
13.根据权利要求11或12所述的装置,其特征在于,还包括:
第二判断模块,用于依据所述回复消息判断存在消息推送失败的下线终端;
存储模块,用于在所述第二判断模块的判断结果为是的情况下,保存所述推送消息,以及所述推送消息推送失败的所述下线终端;
第三判断模块,用于判断在所述下线终端再次上线时,所述下线终端对应的原推送服务器是否处于挂起状态;
第二推送模块,用于在所述第三判断模块的判断结果为是的情况下,通过为再次上线的所述下线终端分配的新推送服务器推送所述推送消息;和/或,第三推送模块,用于在所述第三判断模块的判断结果为否的情况下,采用所述原推送服务器为再次上线的所述下线终端推送所述推送消息。
14.一种应用服务器,其特征在于,包括权利要求11至13中任一项所述的装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410240145.9A CN105323205A (zh) | 2014-05-30 | 2014-05-30 | 消息推送处理方法、装置、推送服务器及应用服务器 |
PCT/CN2014/087614 WO2015180339A1 (zh) | 2014-05-30 | 2014-09-26 | 消息推送处理方法、装置、推送服务器及应用服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410240145.9A CN105323205A (zh) | 2014-05-30 | 2014-05-30 | 消息推送处理方法、装置、推送服务器及应用服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105323205A true CN105323205A (zh) | 2016-02-10 |
Family
ID=54698000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410240145.9A Withdrawn CN105323205A (zh) | 2014-05-30 | 2014-05-30 | 消息推送处理方法、装置、推送服务器及应用服务器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105323205A (zh) |
WO (1) | WO2015180339A1 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106385491A (zh) * | 2016-09-05 | 2017-02-08 | 努比亚技术有限公司 | 一种控制推送消息的系统、方法、移动终端和推送服务器 |
CN107172182A (zh) * | 2017-06-06 | 2017-09-15 | 深圳市金立通信设备有限公司 | 一种消息推送方法、消息推送服务器及终端 |
CN107770034A (zh) * | 2016-08-16 | 2018-03-06 | 中国移动通信有限公司研究院 | 一种消息处理方法及装置 |
CN107835203A (zh) * | 2017-08-09 | 2018-03-23 | 平安壹钱包电子商务有限公司 | 消息分组投递的方法、装置、存储介质及终端 |
CN108243155A (zh) * | 2016-12-26 | 2018-07-03 | 北京云中融信网络科技有限公司 | 一种发送通讯信息的方法和装置 |
CN108718274A (zh) * | 2018-05-29 | 2018-10-30 | 北京德惠众合信息技术有限公司 | 一种即时通讯消息的防丢失方法 |
CN109802994A (zh) * | 2018-12-13 | 2019-05-24 | 平安科技(深圳)有限公司 | 一种基于内容分发网络的消息推送方法及系统 |
CN109819000A (zh) * | 2017-11-22 | 2019-05-28 | 航天信息股份有限公司 | 用于推送消息的方法、装置和系统及机器可读存储介质 |
CN110365749A (zh) * | 2019-06-25 | 2019-10-22 | 上海非码网络科技有限公司 | 消息推送方法、消息推送系统和一种存储介质 |
CN110516158A (zh) * | 2019-08-30 | 2019-11-29 | 湖南新云网科技有限公司 | 一种信息推送方法、装置及计算机可读存储介质 |
CN111131277A (zh) * | 2019-12-27 | 2020-05-08 | 深圳市速易宝智能科技有限公司 | 一种数据推送方法及系统 |
CN112559219A (zh) * | 2020-12-22 | 2021-03-26 | 广州技象科技有限公司 | 一种物联网离线消息管理方法、装置、设备及存储介质 |
CN112910987A (zh) * | 2021-01-28 | 2021-06-04 | 长沙市到家悠享网络科技有限公司 | 消息推送方法、系统、装置、设备及存储介质 |
CN114189489A (zh) * | 2021-11-11 | 2022-03-15 | 深圳市科脉技术股份有限公司 | 一种消息推送方法、装置、服务器和介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660587B (zh) * | 2018-10-22 | 2022-07-29 | 平安科技(深圳)有限公司 | 基于随机数的数据推送方法、装置、存储介质及服务器 |
CN110149363A (zh) * | 2019-04-15 | 2019-08-20 | 深圳壹账通智能科技有限公司 | 一种消息推送方法、装置及存储介质 |
CN111866150A (zh) * | 2020-07-23 | 2020-10-30 | 深圳市和讯华谷信息技术有限公司 | 高并发消息服务分发方法、装置、计算机设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083634A (zh) * | 2006-11-17 | 2007-12-05 | 腾讯科技(深圳)有限公司 | 一种电子邮件处理系统及方法 |
CN101309458A (zh) * | 2008-07-21 | 2008-11-19 | 华为技术有限公司 | 多企业间的短信实现方法、系统和设备 |
CN101583096A (zh) * | 2009-06-16 | 2009-11-18 | 中兴通讯股份有限公司 | 一种彩信中心及其缓存手机报消息的方法 |
CN102209302A (zh) * | 2011-07-07 | 2011-10-05 | 深圳市金立通信设备有限公司 | 一种实现移动终端信息推送的系统及方法 |
CN102647365A (zh) * | 2011-02-16 | 2012-08-22 | 北京大学 | 处理消息及消息状态的方法、装置和数据交换服务器 |
CN102664827A (zh) * | 2012-04-24 | 2012-09-12 | 深圳市三木通信技术有限公司 | 一种即时通讯消息回执方法及系统 |
CN103297326A (zh) * | 2013-05-29 | 2013-09-11 | 深圳Tcl新技术有限公司 | 消息推送的方法和装置 |
CN103458367A (zh) * | 2013-09-25 | 2013-12-18 | 江苏智联天地科技有限公司 | 一种基于优化无线协议的消息安全推送方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202111746U (zh) * | 2011-07-07 | 2012-01-11 | 深圳市金立通信设备有限公司 | 一种实现移动终端信息推送的系统 |
-
2014
- 2014-05-30 CN CN201410240145.9A patent/CN105323205A/zh not_active Withdrawn
- 2014-09-26 WO PCT/CN2014/087614 patent/WO2015180339A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083634A (zh) * | 2006-11-17 | 2007-12-05 | 腾讯科技(深圳)有限公司 | 一种电子邮件处理系统及方法 |
CN101309458A (zh) * | 2008-07-21 | 2008-11-19 | 华为技术有限公司 | 多企业间的短信实现方法、系统和设备 |
CN101583096A (zh) * | 2009-06-16 | 2009-11-18 | 中兴通讯股份有限公司 | 一种彩信中心及其缓存手机报消息的方法 |
CN102647365A (zh) * | 2011-02-16 | 2012-08-22 | 北京大学 | 处理消息及消息状态的方法、装置和数据交换服务器 |
CN102209302A (zh) * | 2011-07-07 | 2011-10-05 | 深圳市金立通信设备有限公司 | 一种实现移动终端信息推送的系统及方法 |
CN102664827A (zh) * | 2012-04-24 | 2012-09-12 | 深圳市三木通信技术有限公司 | 一种即时通讯消息回执方法及系统 |
CN103297326A (zh) * | 2013-05-29 | 2013-09-11 | 深圳Tcl新技术有限公司 | 消息推送的方法和装置 |
CN103458367A (zh) * | 2013-09-25 | 2013-12-18 | 江苏智联天地科技有限公司 | 一种基于优化无线协议的消息安全推送方法及装置 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107770034A (zh) * | 2016-08-16 | 2018-03-06 | 中国移动通信有限公司研究院 | 一种消息处理方法及装置 |
CN106385491B (zh) * | 2016-09-05 | 2019-10-29 | 努比亚技术有限公司 | 一种控制推送消息的系统、方法和移动终端 |
CN106385491A (zh) * | 2016-09-05 | 2017-02-08 | 努比亚技术有限公司 | 一种控制推送消息的系统、方法、移动终端和推送服务器 |
CN108243155B (zh) * | 2016-12-26 | 2021-09-28 | 北京云中融信网络科技有限公司 | 一种发送通讯信息的方法和装置 |
CN108243155A (zh) * | 2016-12-26 | 2018-07-03 | 北京云中融信网络科技有限公司 | 一种发送通讯信息的方法和装置 |
CN107172182A (zh) * | 2017-06-06 | 2017-09-15 | 深圳市金立通信设备有限公司 | 一种消息推送方法、消息推送服务器及终端 |
CN107835203B (zh) * | 2017-08-09 | 2020-07-10 | 平安壹钱包电子商务有限公司 | 消息分组投递的方法、装置、存储介质及终端 |
CN107835203A (zh) * | 2017-08-09 | 2018-03-23 | 平安壹钱包电子商务有限公司 | 消息分组投递的方法、装置、存储介质及终端 |
CN109819000A (zh) * | 2017-11-22 | 2019-05-28 | 航天信息股份有限公司 | 用于推送消息的方法、装置和系统及机器可读存储介质 |
CN108718274A (zh) * | 2018-05-29 | 2018-10-30 | 北京德惠众合信息技术有限公司 | 一种即时通讯消息的防丢失方法 |
CN109802994A (zh) * | 2018-12-13 | 2019-05-24 | 平安科技(深圳)有限公司 | 一种基于内容分发网络的消息推送方法及系统 |
CN109802994B (zh) * | 2018-12-13 | 2022-03-01 | 平安科技(深圳)有限公司 | 一种基于内容分发网络的消息推送方法及系统 |
CN110365749A (zh) * | 2019-06-25 | 2019-10-22 | 上海非码网络科技有限公司 | 消息推送方法、消息推送系统和一种存储介质 |
CN110516158A (zh) * | 2019-08-30 | 2019-11-29 | 湖南新云网科技有限公司 | 一种信息推送方法、装置及计算机可读存储介质 |
CN111131277A (zh) * | 2019-12-27 | 2020-05-08 | 深圳市速易宝智能科技有限公司 | 一种数据推送方法及系统 |
CN112559219A (zh) * | 2020-12-22 | 2021-03-26 | 广州技象科技有限公司 | 一种物联网离线消息管理方法、装置、设备及存储介质 |
CN112910987A (zh) * | 2021-01-28 | 2021-06-04 | 长沙市到家悠享网络科技有限公司 | 消息推送方法、系统、装置、设备及存储介质 |
CN114189489A (zh) * | 2021-11-11 | 2022-03-15 | 深圳市科脉技术股份有限公司 | 一种消息推送方法、装置、服务器和介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2015180339A1 (zh) | 2015-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105323205A (zh) | 消息推送处理方法、装置、推送服务器及应用服务器 | |
CN102685204B (zh) | 数据资源传输的方法和设备 | |
JP4902905B2 (ja) | メッセージを送信する方法、通信方法、据え置き肯定応答通信システム、メッセージを送信するシステム | |
CN1832475B (zh) | 通过请求-响应传输的可靠的请求-响应消息通信 | |
CN102045270B (zh) | 聊天服务器系统、构建聊天服务器系统的方法以及聊天系统 | |
US7689713B2 (en) | System operator independent server alerted synchronization system and methods | |
JP2002124935A (ja) | マルチキャスト配信サービスにおける再送制御方法及びシステム、再送制御装置、無線基地局及び無線端末 | |
CN105610888A (zh) | 基于安卓的利用socket推送消息的方法和系统 | |
JP2000276432A (ja) | トランザクション・メッセージの動的負荷分散方式 | |
US20110196837A1 (en) | Enhanced data access for information systems | |
KR100976259B1 (ko) | 무선망 환경에서 동적 ip기반의 양방향 푸시 서비스 시스템 | |
JP2008015593A (ja) | 中継装置、プログラム、中継方法及び通信システム | |
CN103312807A (zh) | 数据传输方法、装置及系统 | |
CN101631127A (zh) | 文件传输方法及客户端 | |
CN104486327A (zh) | 页面与长连接服务器间的通信方法及客户端 | |
CN104301287A (zh) | 一种多对多会话的实现方法、网络节点、服务器及系统 | |
CN103200214A (zh) | 离线消息集中处理方法和系统 | |
CN112764696A (zh) | 一种云打印服务器、远程打印设备的智能打印方法及系统 | |
US20100235702A1 (en) | Transmitter, file distribution system, file distribution control method and file distribution control program in system | |
KR20060112350A (ko) | 메신저를 이용한 알림 시스템 및 방법 | |
CN113342764A (zh) | 不同云端服务器之间的数据同步方法及装置 | |
CN112887416A (zh) | 发送保活包的频率调整方法及装置 | |
CN103560937A (zh) | 数据访问方法和入口服务器 | |
CN102387062B (zh) | 动态桥接点改善p2p节点在跨网络时的传输速度的方法 | |
CN101184062B (zh) | 一种调整信息服务器负载的方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20160210 |
|
WW01 | Invention patent application withdrawn after publication |