消息推送的方法、装置及系统制造方法及图纸

技术编号:13233680 阅读:47 留言:0更新日期:2016-05-14 20:58
本发明专利技术公开了一种消息推送的方法、装置及系统,涉及互联网技术领域,为解决分布式服务器集群环境中推送平台负荷压力较大的问题而发明专利技术。本发明专利技术的方法包括:主服务器接收推送平台发送的通知消息,将通知消息写入到log日志中,并将log日志分发给从服务器;从服务器接收主服务器分发的log日志,根据log日志更新自身的log日志,并将log日志中的通知消息下发给建立有连接关系的终端;其中,主服务器为分布式服务器集群中通过投票选举出的服务器,从服务器为集群中除主服务器之外的其他服务器。本发明专利技术能够有效降低推送平台的负荷压力。

【技术实现步骤摘要】

本专利技术涉及互联网
,尤其涉及一种消息推送的方法、装置及系统
技术介绍
在现有网络中,推送平台会通过服务器向终端主动推送通知消息。当需要推送通知消息时,推送平台会将通知消息发送给服务器,服务器与终端之间建立并保持传输控制协议(Transmiss1n ControI ProtocoI,简称TCP)连接,服务器通过TCP连接将接收到的通知消息发送给终端。日常生活中,手机里的热点新闻推送、好友圈消息更新提示以及应用版本更新提示等功能即是通过消息推送机制实现的。通常公网中的终端数量十分庞大,通过单台服务器向所有终端推送通知消息并不现实。因此,现有技术中出现了分布式服务器集群的网络架构,即使用多台服务器负责消息推送。终端可以选择与任意一台服务器建立TCP连接,每台服务器负责向自身连接的终端推送通知消息。在上述通过分布式服务器集群推送消息的过程中,推送平台需要向每一台服务器分别推送通知消息,并且还需要对服务器进行管理,例如保证服务器接收通知消息的同步性、发现并处理宕机服务器等。由此可见,当采用分布式服务器集群的网络架构时,推送平台侧的负荷压力较大。
技术实现思路
本专利技术提供了一种消息推送的方法、装置及系统,能够解决分布式服务器集群环境中推送平台负荷压力较大的问题。为解决上述问题,第一方面,本专利技术提供了一种消息推送的方法,该方法应用于主服务器侧,该方法包括:主服务器接收推送平台发送的通知消息,主服务器为分布式服务器集群中通过投票选举出的服务器;将通知消息写入到log日志中;将log日志分发给集群中的从服务器,以使得从服务器更新自身的log日志并将通知消息下发给建立有连接关系的终端,从服务器为集群中除主服务器之外的其他服务器。第二方面,本专利技术还提供了一种消息推送的方法,该方法应用于从服务器侧,该方法包括:从服务器接收主服务器分发的log日志,主服务器为分布式服务器集群中通过投票选举出的服务器,从服务器为集群中除主服务器之外的其他服务器,log日志中记录有推送平台向主服务器发送的通知消息;根据log日志更新自身的log日志;将IOg日志中的通知消息下发给建立有连接关系的终端。第三方面,本专利技术还提供了一种消息推送的装置,该装置位于主服务器侧,该装置包括:接收单元,用于接收推送平台发送的通知消息,主服务器为分布式服务器集群中通过投票选举出的服务器;写入单元,用于将通知消息写入到log日志中;发送单元,用于将log日志分发给集群中的从服务器,以使得从服务器更新自身的log日志并将通知消息下发给建立有连接关系的终端,从服务器为集群中除主服务器之外的其他服务器。第四方面,本专利技术还提供了一种消息推送的装置,该装置位于从服务器侧,该装置包括:接收单元,用于接收主服务器分发的log日志,主服务器为分布式服务器集群中通过投票选举出的服务器,从服务器为集群中除主服务器之外的其他服务器,1g日志中记录有推送平台向主服务器发送的通知消息;更新单元,用于根据log日志更新自身的log日志;发送单元,用于将log日志中的通知消息下发给建立有连接关系的终端。第五方面,本专利技术还提供了一种消息推送的系统,该系统包括:推送平台、主服务器、从服务器以及终端;其中,主服务器为分布式服务器集群中通过投票选举出的服务器,从服务器为集群中除主服务器之外的其他服务器;推送平台,用于向主服务器发送通知消息;主服务器,用于接收推送平台发送的通知消息,将通知消息写入到log日志中,并将log日志分发给从服务器;从服务器,用于接收主服务器分发的log日志,根据log日志更新自身的log日志,并将log日志中的通知消息下发给建立有连接关系的终端;终端,用于接收建立有连接关系的从服务器下发的通知消息。本专利技术提供的消息推送的方法、装置及系统,能够在分布式服务器集群中选举出主服务器,推送平台将通知消息下发给主服务器,由主服务器通过log日志的形式分发给各个从服务器,并使从服务器将接收的通知消息发送给建立有连接关系的终端。与现有技术相比,本专利技术中,推送平台仅将通知消息发送给主服务器即可,无需与其他服务器进行通信,因此可以大大减轻推送平台的负荷压力。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的【具体实施方式】。【附图说明】通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本专利技术实施例提供的第一种消息推送的方法流程图;图2示出了本专利技术实施例提供的第二种消息推送的方法流程图;图3示出了本专利技术实施例提供的第三种消息推送的方法流程图;图4示出了本专利技术实施例提供的第一种消息推送的装置的组成框图;图5示出了本专利技术实施例提供的第二种消息推送的装置的组成框图;图6示出了本专利技术实施例提供的第三种消息推送的装置的组成框图;图7示出了本专利技术实施例提供的第四种消息推送的装置的组成框图;图8示出了本专利技术实施例提供的一种消息推送的系统框图。【具体实施方式】下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本专利技术实施例提供了一种消息推送的方法,该方法应用于主服务器侧。如图1所示,该方法包括:101、主服务器接收推送平台发送的通知消息。本实施例中,推送平台通过分布式服务器集群向终端下发通知消息。该分布式服务器集群由多个服务器组成,各个服务器之间同质,每台服务器接入多个终端,终端可以更改接入的服务器。在分布式服务器集群中,通过投票选举出一个主服务器,剩余服务器则为从服务器。主服务器用于与推送平台进行对接,接收推送平台发送的通知消息,并将通知消息分发给各个从服务器,使得从服务器将该通知消息分发给自身接入的终端。本实施例中的投票主体为集群中的服务器,每台服务器均需要向包括自身在内的服务器投出至少一票,例如仅向自身投票,或者向自身投一票并且向某个其他服务器头一票。服务器可以依据预先配置的投票策略对其他服务器进行投票。例如对通信速度最快的服务器投票,或者对终端负载量最少的服务器投票,或者对处理资源最空闲的服务器投票等,本实施例对此不作限制。本实施例中,任意时刻上分布式服务器集群可以仅有一个主服务器,也可以同时存在多个主服务器。对于后者情况,每一个主服务器负责一部分从服务器的消息分发。各个主服务器负责分发的从服务器没有重复。从服务器可以根据自身配置的接入规则,选择或更改连接的主服务器。所述规则包括但不限于是:选择通信速度最快的主服务器、选择距离最近的主服务器等,本实施例对此不作限制。需要说明的是,为保证切实减轻推送平台的负荷压力,实际应用中主服务器的数量最好不要超过服务器总量的三分之一。为便于说明和理解,本实施例后续将以集群中仅存在一个主服务器的情况为例进行说明。进一步的,本实施例中的投票行为本文档来自技高网...

【技术保护点】
一种消息推送的方法,所述方法应用于主服务器侧,其特征在于,所述方法包括:主服务器接收推送平台发送的通知消息,所述主服务器为分布式服务器集群中通过投票选举出的服务器;将所述通知消息写入到log日志中;将所述log日志分发给集群中的从服务器,以使得所述从服务器更新自身的log日志并将所述通知消息下发给建立有连接关系的终端,所述从服务器为集群中除所述主服务器之外的其他服务器。

【技术特征摘要】

【专利技术属性】
技术研发人员:艾菲
申请(专利权)人:北京奇虎科技有限公司北京奇安信科技有限公司
类型:发明
国别省市:北京;11

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

1