一种消息的推送方法和终端以及推送服务器的制造方法_4

文档序号:9551225阅读:来源:国知局
小可以感知到外网的拥塞情况,如果发现缓存队列变大,则降低往这一台推送服务器推送消息的数量,并且当队列满的时候则不再往这一台推送服务器推送消息,以避免消息的推送失败。当某个机房的机器产生外网拥塞时,普遍的情况是一整个机房的所有机器都产生拥塞,这个时候通过这个机房的消息就不能及时推送给用户了,并且如果后台的推送服务器的缓存队列满了以后,会丢掉更多的消息,通过本发明实施例提供的消息的推送方法可以明显改善这个情况。
[0115]需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0116]为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关装置。
[0117]请参阅图4-a所示,本发明实施例提供的一种终端400,可以包括:获取模块401、推送服务器确定模块402、发送模块403,其中,
[0118]获取模块401,用于获取需要推送的消息;
[0119]推送服务器确定模块402,用于根据多个推送服务器各自对应的缓存队列信息从所述多个推送服务器中确定出第一推送服务器,其中,所述终端设置有至少两个推送服务器,所述第一推送服务器为所述终端确定的用于发送所述需要推送的消息的推送服务器;
[0120]发送模块403,用于将所述需要推送的消息发送给所述第一推送服务器,由所述第一推送服务器将所述需要推送的消息推送给目的服务器。
[0121]在本发明的一些实施例中,请参阅如图4-b所示,所述推送服务器确定模块402,包括:
[0122]第一接收子模块4021,用于接收所述多个推送服务器按照上报周期定时各自上报的缓存队列息;
[0123]第一确定子模块4022,用于根据所述定时各自上报的缓存队列信息从所述多个推送服务器中确定出所述第一推送服务器。
[0124]在本发明的一些实施例中,请参阅如图4-c所示,所述推送服务器确定模块402,包括:
[0125]第二接收子模块4023,用于接收数据统计服务器发送的所述多个推送服务器各自对应的缓存队列信息,所述数据统计服务器定时接收所述多个推送服务器按照上报周期各自上报的缓存队列信息;
[0126]第二确定子模块4024,用于根据所述数据统计服务器发送的所述多个推送服务器的缓存队列信息从所述多个推送服务器中确定出第一推送服务器。
[0127]在本发明的一些实施例中,所述推送服务器确定模块402,具体用于根据所述多个推送服务器各自上报的缓存队列的队列长度从所述多个推送服务器中确定队列长度最短的推送服务器为所述第一推送服务器。
[0128]在本发明的一些实施例中,请参阅如图4-d所示,所述推送服务器确定模块402,包括:
[0129]判断子模块4025,用于分别判断每个推送服务器的缓存队列的队列长度是否大于预置的第一门限值;
[0130]第三确定子模块4026,用于从所述多个推送服务器中除队列长度大于所述第一门限值的推送服务器以外的其它推送服务器中随机挑选一个推送服务器作为所述第一推送服务器。
[0131]在本发明的一些实施例中,所述获取模块401,具体用于获取所有需要推送的消息;
[0132]所述推送服务器确定模块402,具体用于根据多个推送服务器各自对应的缓存队列信息,按照所有需要推送的消息的优先级高低依次为每个需要推送的消息确定出第一推送服务器;
[0133]所述发送模块403,具体用于按照消息优先级高低依次向所述第一推送服务器发送需要推送的消息。
[0134]在本发明的一些实施例中,请参阅如图4-e所示,相对于如图4-a所示的终端,所述终端400还包括:存储模块404,其中,
[0135]所述存储模块404,用于所述获取模块401获取所有需要推送的消息之后,将获取到的所有需要推送的消息存储到所述终端的数据存储器中;
[0136]所述发送模块403,具体用于从所述数据存储器中按照消息优先级高低依次取出各个需要推送的消息;将依次取出的各个需要推送的消息发送给所述第一推送服务器。
[0137]在本发明的一些实施例中,所述获取模块401,具体用于获取所有需要推送的消息;
[0138]所述推送服务器确定模块402,具体用于根据多个推送服务器各自对应的缓存队列信息,按照所有需要推送的消息的消息类型为每个需要推送的消息分别确定出第一推送服务器。
[0139]通过以上对本发明实施例的描述可知,终端首先获取需要推送的消息,然后终端根据多个推送服务器各自对应的缓存队列信息从多个推送服务器中确定出第一推送服务器,其中,第一推送服务器为终端确定的用于发送需要推送的消息的推送服务器,终端将需要推送的消息发送给确定出的第一推送服务器,由该第一推送服务器将需要推送的消息推送给目的服务器。由于终端可以根据推送服务器的缓存队列信息从多个推送服务器中选择用于发送需要推送的消息的推送服务器,故终端可以通过各个推送服务器的缓存队列信息获知各个推送服务器与外网连接的拥塞程度,终端通过缓存队列信息可以确定出能够发送消息的第一推送服务器,从而可以保证通过该第一推送服务器发送出去的消息能够被第一推送服务器顺利的推送给目的服务器,避免消息推送不出去而滞留在本终端的缓冲区里面,提高消息的推送效率。
[0140]请参阅图5-a所示,本发明实施例提供的一种推送服务器500,所述推送服务器500具体为第一推送服务器,所述第一推送服务器可以包括:接收模块501、压入模块502、发送模块503,其中,
[0141]接收模块501,用于接收终端发送的需要推送的消息,所述第一推送服务器为所述终端从多个推送服务器中确定出用于发送所述需要推送的消息的推送服务器;
[0142]压入模块502,用于将所述需要推送的消息压入缓存队列中;
[0143]发送模块503,用于将从所述缓存队列中取出的消息发送给目的服务器。
[0144]在本发明的一些实施例中,请参阅如图5_b所示,所述推送服务器500还包括:第一上报模块504,用于按照上报周期定时向所述终端上报自己的缓存队列信息。
[0145]在本发明的一些实施例中,请参阅如图5-c所示,所述推送服务器500还包括:第二上报模块505,用于按照上报周期定时向数据统计服务器上报自己的缓存队列信息,由所述数据统计服务器将接收到的缓存队列信息发送给所述终端。
[0146]在本发明的一些实施例中,所述缓存队列信息具体为所述第一推送服务器的缓存队列的队列长度。
[0147]在本发明的一些实施例中,请参阅如图5-d所示,所述推送服务器500还包括:队列维护模块506,用于所述发送模块503将从所述缓存队列中取出的消息发送给目的服务器之后,将所述缓存队列中存储时间超过存储阈值的消息删除。
[0148]通过以上对本发明实施例的描述可知,第一推送服务器为终端确定的用于发送需要推送的消息的推送服务器,第一推送服务器从终端接收到需要推送的消息,由该第一推送服务器将需要推送的消息推送给目的服务器。由于终端可以根据推送服务器的缓存队列信息从多个推送服务器中选择用于发送需要推送的消息的推送服务器,故终端可以通过各个推送服务器的缓存队列信息获知各个推送服务器与外网连接的拥塞程度,终端通过缓存队列信息可以确定出能够发送消息的第一推送服务器,从而可以保证通过该第一推送服务器发送出去的消息能够被第一推送服务器顺利的推送给目的服务器,避免消息推送不出去而滞留在本终端的缓冲区里面,提高消息的推送效率。
[0149]以下主要以本发明实施例的消息的推送方法应用于终端中来举例说明,该终端可以包括智能手机、平板电脑、电子书阅读器、动态影像专家压缩标准音频层面3(MovingPicture Experts Group Aud1 Layer 111, MP3)播放器、动态影像专家压缩标准音频层面4(Moving Picture Experts Group Aud1 Layer IV,MP4)播放器、膝上型便携计算机和台式计算机等等。
[0150]请参考图6,其示出了本发明实施例所涉及的终端的结构示意图,具体来讲:
[0151]终端可以包括射频(Rad1 Frequency, RF)电路20、包括有一个或一个以上计算机可读存储介质的存储器21、输入单元22、显示单元23、传感器24、音频电路25、无线保真(wireless fidelity,WiFi)模块26、包括有一个或者一个以上处理核心的处理器27、以及电源28等部件。本领域技术人员可以理解,图6中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0152]RF电路20可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器27处理;另外,将涉及上行的数据发送给基站。通常,RF电路20包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路20还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobilecommunicat1n, GSM)、通用分组无线服务(General Packet Rad1 Service, GPRS)、码分多址(Code Divis1n Multiple Access, CDMA)、宽带码分多址(Wideband Code Divis1nMultiple Access, WCDMA)、长期演进(Long Term Evolut1n, LTE)、电子邮件、短消息服务(Short Messaging Service, SMS)等。
[0153]存储器21可用于存储软件程序以及模块,处理器27通过运行存储在存储器21的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器21可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器21可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器21还可以包括存储器控制器,以提供
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1