跨服务器消息推送系统及方法

文档序号:9527716阅读:590来源:国知局
跨服务器消息推送系统及方法
【技术领域】
[0001]本发明涉及领域,尤其涉及一种跨服务器消息推送系统及方法。
【背景技术】
[0002]目前传统的消息推送方式均是通过客户端按照预设周期发送请求至服务端,然后由服务端在接收到所述请求时返回数据至该客户端,通过这种方式进行消息推送过程中,需要不停的向服务端发送请求,会占用大量的带宽,消耗大量的服务器资源。因此产生了通过推送服务器进行消息推送的方式,通过这种方式进行消息推送过程中,虽然避免了不停向服务端发送请求的问题,但是随着用户基数的不断扩大,需要适时的扩展推送服务器,由于扩展的服务器之间消息不能共享,使得跨服务器进行消息推送过程中,往往会造成部分服务器无法接收到对应的推送消息的问题。
[0003]上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

【发明内容】

[0004]本发明的主要目的在于解决跨服务器进行消息推送过程中,推送服务器之间由于消息不能共享,所造成的部分服务器无法接收到对应的推送消息的问题。
[0005]为实现上述目的,本发明提供的一种跨服务器消息推送系统,所述跨服务器消息推送系统包括:
[0006]生产者模块,用于将待推送的推送消息添加至生产者队列,并通过所述生产者队列将所述推送消息分发至对应的消费者队列;
[0007]消费者模块,用于将所述消费者队列中的所述推送消息通知给对应的推送服务器;
[0008]推送模块,用于通过所述推送服务器将所述推送消息发送至目标客户端,以供所述目标客户端进行消息推送。
[0009]优选的,所述生产者模块包括接收单元、确定单元和分发单元;
[0010]所述接收单元,用于接收服务端发送的推送消息,并将所述推送消息添加至所述生产者队列;
[0011]所述确定单元,用于根据所述推送消息确定对应的消费者队列;
[0012]所述分发单元,用于将所述生产者队列中的所述推送消息分发至所确定的消费者队列。
[0013]优选的,所述推送模块,还用于通过所述推送服务器查询本推送服务器所处的IP地址段内的客户端,并根据所述推送消息确定对应的目标客户端;
[0014]所述推送模块,还用于通过所述推送服务器与所确定的目标客户端之间的双向长连接将所述推送消息发送至所确定的目标客户端。
[0015]优选的,所述跨服务器消息推送系统还包括连接模块;
[0016]所述连接模块,用于在接收到目标客户端的连接请求时,建立所述目标客户端与对应的推送服务器之间的双向长连接。
[0017]优选的,所述消费者模块,还用于将所述消费者队列中的所述推送消息通知给所述消费者队列所绑定的推送服务器。
[0018]此外,为实现上述目的,本发明还提供一种跨服务器消息推送方法,所述跨服务器消息推送方法包括以下步骤:
[0019]将待推送的推送消息添加至生产者队列,并通过所述生产者队列将所述推送消息分发至对应的消费者队列;
[0020]将所述消费者队列中的所述推送消息通知给对应的推送服务器;
[0021]通过所述推送服务器将所述推送消息发送至目标客户端,以供所述目标客户端进行消息推送。
[0022]优选的,所述将待推送的推送消息添加至生产者队列,并通过所述生产者队列将所述推送消息分发至对应的消费者队列的步骤包括:
[0023]接收服务端发送的推送消息,并将所述推送消息添加至所述生产者队列;
[0024]根据所述推送消息确定对应的消费者队列;
[0025]将所述生产者队列中的所述推送消息分发至所确定的消费者队列。
[0026]优选的,所述通过所述推送服务器将所述推送消息发送至目标客户端的步骤包括:
[0027]通过所述推送服务器查询本推送服务器所处的IP地址段内的客户端,并根据所述推送消息确定对应的目标客户端;
[0028]通过所述推送服务器与所确定的目标客户端之间的双向长连接将所述推送消息发送至所确定的目标客户端。
[0029]优选的,所述将生产者程序产生的推送消息添加至生产者队列的步骤之前,还包括:
[0030]在接收到目标客户端的连接请求时,建立所述目标客户端与对应的推送服务器之间的双向长连接。
[0031]优选的,所述将所述消费者队列中的所述推送消息通知给对应的推送服务器的步骤包括:
[0032]将所述消费者队列中的所述推送消息通知给所述消费者队列所绑定的推送服务器。
[0033]本发明通过生产者队列向各推送服务器的消费者队列分发推送消息,使得推送消息可以共享,避免了跨服务器进行消息推送时部分服务器无法接收到对应的推送消息的问题。使得在服务器压力增大时,可以横向扩展服务器,以缓解服务器压力。
【附图说明】
[0034]图1为实现本发明各个实施例的移动终端的硬件结构示意;
[0035]图2为如图1所示的移动终端的无线通信系统示意图;
[0036]图3为本发明跨服务器消息推送系统的第一实施例的功能模块示意图;
[0037]图4为本发明跨服务器消息推送系统的较佳实施例的软件架构示意图;
[0038]图5为本发明跨服务器消息推送系统的较佳实施例的硬件结构示意图;
[0039]图6为本发明跨服务器消息推送系统的第二实施例的功能模块示意图;
[0040]图7为本发明基于Websocket连接跨服务器消息推送系统的较佳实施例的示意图;
[0041]图8为本发明跨服务器消息推送方法的第一实施例的流程示意图;
[0042]图9为本发明跨服务器消息推送方法的第二实施例的流程示意图;
[0043]图10为本发明跨服务器消息推送方法的第三实施例的流程示意图。
[0044]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0045]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0046]现在将参考附图描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如"模块"、"部件"或"单元"的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,〃模块〃与〃部件〃可以混合地使用。
[0047]移动终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
[0048]图1为实现本发明各个实施例的移动终端的硬件结构示意。
[0049]移动终端100可以包括无线通信单元110、A/V (音频/视频)输入单元120、用户输入单元130、感测单元140、输出单元150、存储器160、接口单元170、控制器180和电源单元190等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件。可以替代地实施更多或更少的组件。将在下面详细描述移动终端的元件。
[0050]无线通信单元110通常包括一个或多个组件,其允许移动终端100与无线通信系统或网络之间的无线电通信。例如,无线通信单元可以包括广播接收模块111、移动通信模块112、无线互联网模块113、短程通信模块114和位置信息模块115中的至少一个。
[0051]广播接收模块111经由广播信道从外部广播管理服务器接收广播信号和/或广播相关信息。广播信道可以包括卫星信道和/或地面信道。广播管理服务器可以是生成并发送广播信号和/或广播相关信息的服务器或者接收之前生成的广播信号和/或广播相关信息并且将其发送给终端的服务器。广播信号可以包括TV广播信号、无线电广播信号、数据广播信号等等。而且,广播信号可以进一步包括与TV或无线电广播信号组合的广播信号。广播相关信息也可以经由移动通信网络提供,并且在该情况下,广播相关信息可以由移动通信模块112来接收。广播信号可以以各种形式存在,例如,其可以以数字多媒体广播(DMB)的电子节目指南(EPG)、数字视频广播手持(DVB-Η)的电子服务指南(ESG)等等的形式而存在。广播接收模块111可以通过使用各种类型的广播系统接收信号广播。特别地,广播接收模块111可以通过使用诸如多媒体广播-地面(DMB-T)、数字多媒体广播-卫星(DMB-S)、数字视频广播-手持(DVB-H),前向链路媒体(MediaFL0@)的数据广播系统、地面数字广播综合服务(ISDB-T)等等的数字广播系统接收数字广播。广播接收模块111可以被构造为适合
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1