消息推送的实现方法和装置制造方法

文档序号:7979762阅读:180来源:国知局
消息推送的实现方法和装置制造方法
【专利摘要】本发明提供了一种消息推送的实现方法和装置。所述方法包括:按照发送间隔时间通过客户端和推送服务器之间的连接将心跳查询包发送至推送服务器;根据所述推送服务器对心跳查询包的响应调整所述心跳查询包的发送间隔时间。所述装置包括:发送模块,用于按照发送间隔时间通过客户端和推送服务器之间的连接将心跳查询包发送至推送服务器;间隔调整模块,用于根据所述推送服务器对心跳查询包的响应调整所述心跳查询包的发送间隔时间。采用本发明能提高心跳查询包发送灵活性。
【专利说明】消息推送的实现方法和装置
【技术领域】
[0001]本发明涉及移动通信技术,特别是涉及一种消息推送的实现方法和装置。
【背景技术】
[0002]移动终端的无线通信环境中,推送(PUSH)技术是一种基于客户服务机制,由服务器主动地将消息发送至客户端的技术。与传统的拉取(PULL)技术相比较,最为主要的区别在于推送技术是由服务器发送消息,而拉取技术是由客户端主动请求从服务器中获取消
肩、O
[0003]在基于推送技术的应用中,服务器发起推送事件,主动地将更新的消息推送到客户端,以保证消息的主动力性和及时性。然而,在没有任何数据传输时,网络连接将被断开,因此,为保持网络连接的连接状态,客户端不得不定期将心跳查询包发送至服务器中,服务器在收到心跳查询包之后会进行消息查询,并将查询到的消息返回给客户端。但是,在基于推送技术的应用中,无论是否接收到推送服务器返回的消息,都将进行心跳查询包的频繁发送,缺乏灵活性,将耗费大量的通信流量,导致了通信流量的浪费。

【发明内容】

[0004]基于此,有必要提供一种能提高心跳查询包发送灵活性的消息推送的实现方法。
[0005]此外,还有必要提供一种能提高心跳查询包发送灵活性的消息推送的实现装置。
[0006]一种消息推送的实现方法,包括如下步骤:
[0007]按照发送间隔时间通过客户端和推送服务器之间的连接将心跳查询包发送至推送服务器;
[0008]根据所述推送服务器对心跳查询包的响应调整所述心跳查询包的发送间隔时间。
[0009]在其中一个实施例中,所述根据所述推送服务器对心跳查询包的响应调整所述心跳查询包的发送间隔时间的步骤为:
[0010]判断所述推送服务器是否返回推送消息,若是,则将所述心跳查询包的发送间隔时间调整为预设的最低值,若否,则
[0011]延长所述心跳查询包的发送间隔时间。
[0012]在其中一个实施例中,所述延长所述心跳查询包的发送间隔时间的步骤为:
[0013]按照延长倍数延长心跳查询包的发送间隔时间,并使得所述延长的发送间隔时间介于所述最低值和预设的最高值之间。
[0014]在其中一个实施例中,所述按照发送间隔时间通过客户端和推送服务器之间的连接将心跳查询包发送至推送服务器的步骤之前还包括:
[0015]判断是否存在客户端和推送服务器之间的连接,若是,则进入所述按照发送间隔时间通过客户端和推送服务器之间的连接将心跳查询包发送至推送服务器的步骤,若否,则
[0016]建立所述客户端和推送服务器之间的连接。[0017]在其中一个实施例中,所述建立所述客户端和推送服务器之间的连接的步骤之前还包括:
[0018]进一步判断所述客户端和推送服务器之间是否为首次连接,若是,则进入所述建立所述客户端和推送服务器之间的连接的步骤,若否,则
[0019]缩短初始的发送间隔时间。
[0020]一种消息推送的实现装置,包括:
[0021]发送模块,用于按照发送间隔时间通过客户端和推送服务器之间的连接将心跳查询包发送至推送服务器;
[0022]间隔调整模块,用于根据所述推送服务器对心跳查询包的响应调整所述心跳查询包的发送间隔时间。
[0023]在其中一个实施例中,所述间隔调整模块包括:
[0024]返回处理单元,用于判断所述推送服务器是否返回推送消息,若是,则将所述心跳查询包的发送间隔时间调整为预设的最低值,若否,则通知时间延长单元;
[0025]所述时间延长单元,用于延长所述心跳查询包的发送间隔时间。
[0026]在其中一个实施例中,所述时间延长单元还用于按照延长倍数延长心跳查询包的发送间隔时间,并使得所述延长的发送间隔时间介于所述最低值和预设的最高值之间。
[0027]在其中一个实施例中,还包括:
[0028]连接判断模块,用于判断是否存在客户端和推送服务器之间的连接,若是,则通知所述发送模块,若否,则通知连接建立模块;
[0029]所述连接建立模块用于建立所述客户端和推送服务器之间的连接。
[0030]在其中一个实施例中,还包括时间缩短模块;
[0031]所述连接判断模块还用于判断到存在客户端和推送服务器之间的连接时进一步判断所述客户端和推送服务器之间是否为首次连接,若是,则通知所述连接建立模块,若否,则通知所述时间缩短模块;
[0032]所述时间缩短模块用于缩短初始的发送间隔时间。上述消息推送的实现方法和装置,根据推送服务器对心跳查询包的响应来调整心跳查询包的发送时间,进而按照调整后的心跳查询包的发送间隔时间向推送服务器发送心跳查询包,通过灵活地调整发送间隔时间,提高了心跳查询包发送灵活性,从而根据推送服务器对心跳查询包的响应增加或减少心跳查询包的发送次数,节省通信流量和发送心跳查询包所耗费的电量。
【专利附图】

【附图说明】
[0033]图1为一个实施例中消息推送的实现方法的流程图;
[0034]图2为图1中根据推送服务器对心跳查询包的响应调整心跳查询包的发送间隔时间的方法流程图;
[0035]图3为另一个实施例中消息推送的实现方法的流程图;
[0036]图4为另一个实施例中消息推送的实现方法的流程图;
[0037]图5为一个实施例中消息推送的实现装置的结构示意图;
[0038]图6为一个实施例中消息推送的实现装置的应用示意图;
[0039]图7为图5中间隔调整|旲块的结构不意图;[0040]图8为另一个实施例中消息推送的实现装置的结构示意图。
【具体实施方式】
[0041]如图1所示,在一个实施例中,一种消息推送的实现方法,包括如下步骤:
[0042]步骤S110,按照发送间隔时间通过客户端和推送服务器之间的连接将心跳查询包发送至推送服务器。
[0043]本实施例中,发送间隔时间为向推送服务器发送心跳查询包之间的间隔时间。推送服务器置于互联网中,存储了需向客户端推送的消息。客户端和推送服务器之间的连接为长连接,通过心跳查询包维护长连接的连接状态,从而对推送服务器进行多次读写过程,在客户端和推送服务器之间进行多次心跳查询包以及消息的交互而不断开连接。[0044]步骤S130,根据推送服务器对心跳查询包的响应调整心跳查询包的发送间隔时间。
[0045]本实施例中,推送服务器在接收到客户端发送的心跳查询包后,将进行消息查询,以通过向客户端推送消息实现推送服务器对心跳查询包的响应。此外,若推送服务器未查询到需要向客户端推送的消息,则不对客户端发送的心跳查询包进行响应。
[0046]心跳查询包的发送间隔时间的调整实际为延长或缩短发送间隔时间。具体的,客户端接收到了推送服务器对心跳查询包的响应,则说明推送服务器中存在需要向客户端推送的消息,此时,为保证及时进行消息的推送,缩短心跳查询包的发送间隔时间,进而提高心跳查询包的发送频率;若客户端未接收到推送的消息,则延长缩短发送间隔时间,以节省通信流量。
[0047]如图2所示,在一个实施例中,上述步骤S30的具体过程为:
[0048]步骤S 131,判断推送服务器是否返回推送消息,若是,则进入步骤S133,若否,则进入步骤S 135。
[0049]本实施例中,根据客户端是否接收到推送的消息判定推送服务器是否返回推送消息,若客户端侦听并接收到了推送服务器推送的消息,则进入步骤S133,若判断到推送服务器未返回推送消息,则说明推送服务器中不存在更新的消息,进而不需要向客户推送消息。
[0050]步骤S133,将心跳查询包的发送间隔时间调整为预设的最低值。
[0051]本实施例中,缩短心跳查询包的发送间隔时间,将其调整为预设的最低值。在优选的实施例中,最低时间为30秒。
[0052]步骤S135,延长心跳查询包的发送间隔时间。
[0053]本实施例中,上述步骤S350的具体过程为:按照延长倍数延长心跳查询包的发送间隔时间,并使得延长的发送间隔时间介于最低值和预设的最高值之间。在优选的实施例中,延长倍数为2,最高值初始为1200秒,即延长的发送间隔时间T' = T X 2,其中T为调整前的发送间隔时间,T'≥30秒,并且T'≤1200秒。
[0054]如图3所示,在另一个实施例中,上述步骤SllO之前还包括如下步骤:
[0055]步骤S210,判断是否存在客户端和推送服务器之间的连接,若是,则进入步骤S110,若否,则进入步骤S230。
[0056]在另一个实施例中,上述步骤S210之前还包括判断客户端中是否存在基于推送技术的应用,若是,则进入步骤S210判断是否存在客户端和推送服务器之间的连接,若判断到客户端中不存在基于推送技术的应用,则结束。
[0057]步骤S230,建立客户端和推送服务器之间的连接。
[0058]如图4所示,在另一个实施例中,上述步骤S230之前还包括如下步骤:
[0059]步骤S310,进一步判断客户端和推送服务器之间是否为首次连接,若是,则进入步骤S230,若否,则进入步骤S330。
[0060]本实施例中,在判断到客户端和推送服务器之间的连接不存在时,将进一步判断客户端和推送服务器之间即将建立的连接是否为首次连接,如果是,则直接建立客户端和推送服务器之间的连接,如果判断到客户端和推送服务器之间即将建立的连接为首次连接,则需要缩短初始的发送间隔时间。
[0061]步骤S330,缩短初始的发送间隔时间。
[0062]本实施例中,上述步骤S330的具体过程为:通过初始的发送间隔时间和预设值之间的差值得到缩短的发送间隔时间。具体的,预设值可根据实际需要进行灵活设定,优选为最低值,即30秒。
[0063]如图5所示,在一个实施例中,一种消息推送的实现装置,包括发送模块110、间隔调整模块130。
[0064]发送模块110,用于按照发送间隔时间通过客户端和推送服务器之间的连接将心跳查询包发送至推送服务器。
[0065]本实施例中,发送间隔时间为向推送服务器发送心跳查询包之间的间隔时间。推送服务器置于互联网中,存储了需向客户端推送的消息。如图6所示,推送服务器601和移动终端603通过互联网实现交互,消息推送的实现装置设置于移动终端603中。客户端和推送服务器之间的连接为长连接,通过心跳查询包维护长连接的连接状态,从而对推送服务器进行多次读写过程,在客户端和推送服务器之间进行多次心跳查询包以及消息的交互而不断开连接。
[0066]间隔调整模块130,用于根据推送服务器对心跳查询包的响应调整心跳查询包的发送间隔时间。
[0067]本实施例中,推送服务器在接收到发送模块110发送的心跳查询包后,将进行消息查询,以通过向客户端推送消息实现推送服务器对心跳查询包的响应。此外,若推送服务器未查询到需要向客户端推送的消息,则不对发送模块110发送的心跳查询包进行响应。
[0068]间隔调整模块130对心跳查询包的发送间隔时间的调整实际为延长或缩短发送间隔时间。具体的,客户端接收到了推送服务器对心跳查询包的响应,则说明推送服务器中存在需要向客户端推送的消息,此时,为保证及时进行消息的推送,间隔调整模块130缩短心跳查询包的发送间隔时间,进而提高心跳查询包的发送频率;若客户端未接收到推送的消息,则间隔调整模块130延长缩短发送间隔时间,以节省通信流量。
[0069]如图7所示,在一个实施例中,上述间隔调整模块130包括返回处理单元131以及时间延长单元133。
[0070]返回处理单元131,用于判断推送服务器是否返回推送消息,若是,则将心跳查询包的发送间隔时间调整为预设的最低值,若否,则通知时间延长单元133。
[0071]本实施例中,返回处理单元131根据客户端是否接收到推送的消息判定推送服务器是否返回推送消息,若客户端侦听并接收到了推送服务器推送的消息,则将发送间隔时间调整为最低值,若返回处理单元131判断到推送服务器未返回推送消息,则说明推送服务器中不存在更新的消息,进而不需要向客户推送消息。进一步的,缩短心跳查询包的发送间隔时间,将其调整为预设的最低值。在优选的实施例中,最低时间为30秒。
[0072]时间延长单元133,用于延长心跳查询包的发送间隔时间。
[0073]本实施例中,时间延长单元133还用于按照延长倍数延长心跳查询包的发送间隔时间,并使得延长的发送间隔时间介于最低值和预设的最高值之间。在优选的实施例中,延长倍数为2,最高值初始为1200秒,即延长的发送间隔时间T' = TX2,其中T为调整前的发送间隔时间,T'≥30秒,并且T'≤1200秒。
[0074]如图8所示,在另一个实施例中,上述消息推送的实现装置还包括连接判断模块210以及连接建立模块230。
[0075]连接判断模块210,用于判断是否存在客户端和推送服务器之间的连接,若是,则通知发送模块110,若否,则通知连接建立模块230。
[0076]在另一个实施例中,连接判断模块210还用于判断客户端中是否存在基于推送技术的应用,若是,则判断是否存在客户端和推送服务器之间的连接,若判断到客户端中不存在基于推送技术的应用,则结束。
[0077]连接建立模块230,用于建立客户端和推送服务器之间的连接。
[0078]在另一个实施例中,上述消息推送的实现装置还包括了时间缩短模块。
[0079]连接判断模块210还用于判断到存在客户端和推送服务器之间的连接时进一步判断客户端和推送服务器之间是否为首次连接,若是,则通知连接建立模块230,若否,则通知时间缩短模块。
[0080]本实施例中,在判断到客户端和推送服务器之间的连接不存在时,连接判断模块210将进一步判断客户端和推送服务器之间即将建立的连接是否为首次连接,如果是,则通知连接建立模块230直接建立客户端和推送服务器之间的连接,如果判断到客户端和推送服务器之间即将建立的连接为首次连接,则需要时间缩短模块缩短初始的发送间隔时间。[0081 ] 时间缩短模块用于缩短初始的发送间隔时间。
[0082]本实施例中,时间缩短模块通过初始的发送间隔时间和预设值之间的差值得到缩短的发送间隔时间。具体的,预设值可根据实际需要进行灵活设定,优选为最低值,即30秒。
[0083]上述消息推送的实现装置可设置于各种移动终端中。
[0084]上述消息推送的实现方法和装置,根据推送服务器对心跳查询包的响应来调整心跳查询包的发送时间,进而按照调整后的心跳查询包的发送间隔时间向推送服务器发送心跳查询包,通过灵活地调整发送间隔时间,提高了心跳查询包发送灵活性,从而根据推送服务器对心跳查询包的响应增加或减少心跳查询包的发送次数,节省通信流量和发送心跳查询包所耗费的电量。
[0085]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种消息推送的实现方法,包括如下步骤:、 按照发送间隔时间通过客户端和推送服务器之间的连接将心跳查询包发送至推送服务器; 根据所述推送服务器对心跳查询包的响应调整所述心跳查询包的发送间隔时间。
2.根据权利要求1所述的消息推送的实现方法,其特征在于,所述根据所述推送服务器对心跳查询包的响应调整所述心跳查询包的发送间隔时间的步骤为: 判断所述推送服务器是否返回推送消息,若是,则将所述心跳查询包的发送间隔时间调整为预设的最低值,若否,则 延长所述心跳查询包的发送间隔时间。
3.根据权利要求2所述的消息推送的实现方法,其特征在于,所述延长所述心跳查询包的发送间隔时间的步骤为: 按照延长倍数延长心跳查询包的发送间隔时间,并使得所述延长的发送间隔时间介于所述最低值和预设的最高值之间。
4.根据权利要求1所述的消息推送的实现方法,其特征在于,所述按照发送间隔时间通过客户端和推送服务器之间的连接将心跳查询包发送至推送服务器的步骤之前还包括: 判断是否存在客户端和推送服务器之间的连接,若是,则进入所述按照发送间隔时间通过客户端和推送服务器之间的连接将心跳查询包发送至推送服务器的步骤,若否,则 建立所述客户端和推送服务器之间的连接。
5.根据权利要求4所述的消息推送的实现方法,其特征在于,所述建立所述客户端和推送服务器之间的连接的步骤之前还包括: 进一步判断所述客户端和推送服务器之间是否为首次连接,若是,则进入所述建立所述客户端和推送服务器之间的连接的步骤,若否,则 缩短初始的发送间隔时间。
6.一种消息推送的实现装置,其特征在于,包括: 发送模块,用于按照发送间隔时间通过客户端和推送服务器之间的连接将心跳查询包发送至推送服务器; 间隔调整模块,用于根据所述推送服务器对心跳查询包的响应调整所述心跳查询包的发送间隔时间。
7.根据权利要求6所述的消息推送的实现装置,其特征在于,所述间隔调整模块包括: 返回处理单元,用于判断所述推送服务器是否返回推送消息,若是,则将所述心跳查询包的发送间隔时间调整为预设的最低值,若否,则通知时间延长单元; 所述时间延长单元,用于延长所述心跳查询包的发送间隔时间。
8.根据权利要求7所述的消息推送的实现装置,其特征在于,所述时间延长单元还用于按照延长倍数延长心跳查询包的发送间隔时间,并使得所述延长的发送间隔时间介于所述最低值和预设的最高值之间。
9.根据权利要求6所述的消息推送的实现装置,其特征在于,还包括: 连接判断模块,用于判断是否存在客户端和推送服务器之间的连接,若是,则通知所述发送模块,若否,则通知连接建立模块;所述连接建立模块用于建立所述客户端和推送服务器之间的连接。
10.根据权利要求9所述的消息推送的实现装置,其特征在于,还包括时间缩短模块;所述连接判断模块还用于判断到存在客户端和推送服务器之间的连接时进一步判断所述客户端和推送服务器之间是否为首次连接,若是,则通知所述连接建立模块,若否,则通知所述时间缩短模块; 所述时间缩短模块用于缩短初始的发送间隔时间。
【文档编号】H04L29/08GK103491512SQ201210192609
【公开日】2014年1月1日 申请日期:2012年6月12日 优先权日:2012年6月12日
【发明者】沈锦龙, 赵毅鹏 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1