著录项信息
专利名称 | 信息推送方法和系统 |
申请号 | CN201310562544.2 | 申请日期 | 2013-11-13 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-01-29 | 公开/公告号 | CN103546584A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/08 | IPC分类号 | H;0;4;L;2;9;/;0;8;;;H;0;4;L;2;9;/;0;6查看分类表>
|
申请人 | 深圳市中兴移动通信有限公司 | 申请人地址 | 广东省深圳市南山区高新区北环大道9018号大族创新大厦A区10楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 努比亚技术有限公司 | 当前权利人 | 努比亚技术有限公司 |
发明人 | 王福财 |
代理机构 | 深圳协成知识产权代理事务所(普通合伙) | 代理人 | 章小燕 |
摘要
本发明公开了一种信息推送方法和系统,所述信息推送方法包括步骤:客户端与服务器端基于Websocket协议建立Websocket数据通道;服务器端通过所述Websocket数据通道主动向客户端推送信息。由于通过Websocket协议在客户端与服务器端之间建立了Websocket数据通道,实现了客户端与服务器端的全双工通信,因此客户端无需定时向服务器端发送Http请求,服务器端也能主动向客户端推送信息。相对于频繁发起Http请求来获取信息推送的方法,节省了大量的数据流量和网络带宽,降低了使用成本。
1.一种信息推送方法,其特征在于,包括步骤:
客户端与服务器端基于Websocket协议建立Websocket数据通道;
所述客户端至少有两个,所述客户端接收由服务器端通过所述Websocket数据通道主动推送的信息包括:其中一个客户端触发所述服务器端的定制推送服务,所述定制推送服务包括客户端定制的推送信息和定制的推送对象,或者服务器端预设的提醒信息推送服务;所述服务器端根据所述定制推送服务,通过所述Websocket数据通道主动向另外至少一个客户端推送相应的信息;另外至少一个客户端接收所述相应的信息;
客户端向服务器端订阅信息主题;服务器端根据所述信息主题发布相应的信息,服务器端根据不同的应用场景的待推送信息匹配出相应的推送模式,并通过所述Websocket数据通道将所述信息以相应的推送模式主动推送给客户端;所述推送模式至少包括至多推送一次、至少推送一次和只推送一次;
客户端接收所述信息。
2.根据权利要求1所述的信息推送方法,其特征在于,所述服务器端根据所述信息主题发布相应的信息包括:
服务器端的前端页面根据所述信息主题设置相应的发布参数,并将该发布参数提交到服务器端的后台服务程序;
所述后台服务程序根据所述发布参数发布相应的信息。
3.一种信息推送系统,其特征在于,包括客户端和服务器端,
所述客户端至少有两个,所述客户端接收由服务器端通过Websocket数据通道主动推送的信息包括:其中一个客户端触发所述服务器端的定制推送服务,所述定制推送服务包括客户端定制的推送信息和定制的推送对象,或者服务器端预设的提醒信息推送服务;所述服务器端根据所述定制推送服务,通过所述Websocket数据通道主动向另外至少一个客户端推送相应的信息;另外至少一个客户端接收所述相应的信息;
所述客户端向所述服务器端订阅信息主题;所述服务器端用于根据所述信息主题发布相应的信息,根据不同的应用场景的待推送信息匹配出相应的推送模式,并通过所述Websocket数据通道将所述信息以相应的推送模式主动推送给所述客户端;所述推送模式至少包括至多推送一次、至少推送一次和只推送一次。
4.根据权利要求3所述的信息推送系统,其特征在于,所述服务器端包括前端页面和后台服务程序,其中:
前端页面,用于根据所述信息主题设置相应的发布参数,并将该发布参数提交到后台服务程序;
后台服务程序,用于根据所述发布参数发布相应的信息。
信息推送方法和系统\n技术领域\n[0001] 本发明涉及通信技术领域,尤其是涉及一种信息推送方法和系统。\n背景技术\n[0002] 信息推送是指客户端能自动收到服务器端发过来的信息,其目的是为了向用户方便有效地提供最新的消息和数据,使得用户可以及时的获取自己感兴趣的信息,提升了用户体验。同时,也给服务器端提供了更为便捷的服务发布方式,使得服务器端能够控制信息发布的频率和时间。因此,信息推送广泛应用于通信领域,特别是移动通信领域。\n[0003] 在移动通信领域,SMS短信是传统的信息推送方式,其采用轮询模式,在特定时间间隔内由客户端向服务器端发起Http请求,服务器收到Http请求后再返回最新信息数据给客户端。由于需要不断地发起Http请求,因此会占用较大的带宽。还有一种是常用于即时通讯的信息推送方式,其利用XMPP协议进行信息推送,XMPP协议是基于XML的通信协议,因此已基本完成标准化,可扩展性强。但由于XMPP协议比较复杂,且设计冗余,造成数据流量偏大,在目前用户流量受限的情况下会导致使用成本增加。\n[0004] 综上所述,现有的信息推送方式,占用带宽较大,耗费数据流量较多,增加了使用成本。\n发明内容\n[0005] 本发明的主要目的在于提供一种信息推送方法和系统,旨在节省数据流量和网络带宽,降低使用成本。\n[0006] 为达以上目的,本发明提出一种信息推送方法,包括步骤:\n[0007] 客户端与服务器端基于Websocket协议建立Websocket数据通道;\n[0008] 客户端接收由服务器端通过所述Websocket数据通道主动推送的信息。\n[0009] 优选地,所述客户端接收由服务器端通过所述Websocket数据通道主动推送的信息包括:\n[0010] 客户端向服务器端订阅信息主题;\n[0011] 服务器端根据所述信息主题发布相应的信息,并通过所述Websocket数据通道将所述信息主动推送给客户端;\n[0012] 客户端接收所述信息。\n[0013] 优选地,所述服务器端根据所述信息主题发布相应的信息包括:\n[0014] 服务器端的前端页面根据所述信息主题设置相应的发布参数,并将该发布参数提交到服务器端的后台服务程序;\n[0015] 所述后台服务程序根据所述发布参数发布相应的信息。\n[0016] 优选地,所述客户端至少有两个,所述客户端接收由服务器端通过所述Websocket数据通道主动推送的信息包括:\n[0017] 其中一个客户端触发所述服务器端的定制推送服务;\n[0018] 所述服务器端根据所述定制推送服务,通过所述Websocket数据通道主动向另外至少一个客户端推送相应的信息;\n[0019] 另外至少一个客户端接收所述相应的信息。\n[0020] 优选地,所述客户端接收由服务器端通过所述Websocket数据通道主动推送的信息包括:\n[0021] 服务器端根据待推送的信息匹配出相应的推送模式,并通过所述Websocket数据通道将所述信息以相应的推送模式主动推送给客户端;\n[0022] 客户端接收所述信息。\n[0023] 优选地,所述推送模式包括:至多推送一次、至少推送一次和只推送一次。\n[0024] 本发明同时提出一种信息推送系统,包括客户端和服务器端,所述客户端与服务器端基于Websocket协议建立Websocket数据通道,所述服务器端用于通过所述Websocket数据通道主动向客户端推送信息,所述客户端用于接收所述信息。\n[0025] 优选地,其中:\n[0026] 客户端,用于向服务器端订阅信息主题;\n[0027] 服务器端,用于根据所述信息主题发布相应的信息,并通过所述Websocket数据通道将所述信息主动推送给客户端。\n[0028] 优选地,所述服务器端包括前端页面和后台服务程序,其中:\n[0029] 前端页面,用于根据所述信息主题设置相应的发布参数,并将该发布参数提交到后台服务程序;\n[0030] 后台服务程序,用于根据所述发布参数发布相应的信息。\n[0031] 优选地,所述客户端至少有两个,其中一个客户端用于触发所述服务器端的定制推送服务;所述服务器端用于根据所述定制推送服务,通过所述Websocket数据通道主动向另外至少一个客户端推送相应的信息。\n[0032] 优选地,所述服务器端包括推送单元,其用于根据待推送的信息匹配出相应的推送模式,并通过所述Websocket数据通道将所述信息以相应的推送模式主动推送给客户端。\n[0033] 本发明所提供的一种信息推送方法,通过Websocket协议在客户端与服务器端之间建立Websocket数据通道,实现了客户端与服务器端的全双工通信,因此客户端无需定时向服务器端发送Http请求,服务器端也能主动向客户端推送信息。相对于频繁发起Http请求来获取信息推送的方法,节省了大量的数据流量和网络带宽,降低了使用成本。\n附图说明\n[0034] 图1是本发明的信息推送方法第一实施例的流程图;\n[0035] 图2是图1中步骤S103的具体流程图;\n[0036] 图3是本发明的信息推送方法第二实施例的流程图;\n[0037] 图4是本发明的信息推送系统一实施例的结构框图;\n[0038] 图5是图4中的服务器端的结构框图;\n[0039] 图6是本发明的信息推送系统推送信息的示意图;\n[0040] 图7是本发明的信息推送系统推送信息的另一示意图。\n[0041] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。\n具体实施方式\n[0042] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。\n[0043] 本发明的信息推送方法,通过Websocket协议在客户端和服务器端之间建立Websocket数据通道,由于Websocket协议可以实现客户端与服务器端的全双工通信,因此不需要客户端向服务器端发送Http请求,服务器端也能主动向客户端推送信息。Websocket协议保持客户端和服务器端的长连接时,在没有数据传输的情况下,二者之间固定长度头部包只需要通过2个字节就能保持心跳连接,网络带宽占用极少。在完成相同服务情况下,Websocket只需要1/4的Http数据流量。Websocket协议适应于各种复杂的网络环境,包括受限的网络环境。\n[0044] 参见图1、图2,提出本发明的信息推送方法第一实施例,所述信息推送方法包括以下步骤:\n[0045] 步骤S101、客户端与服务器端基于Websocket协议建立Websocket数据通道[0046] 基于Websocket协议建立Websocket数据通道时,客户端与服务器端只需要在刚建立连接时采用HTTP握手,随后两者之间就形成一条快速的、时刻连通的Websocket数据通道,从而两者就可以采用WebSocket方式进行数据的相互传送。建立Websocket数据通道后,还可以对客户端进行身份验证,待客户端通过身份验证后方可使用推送服务。同时可使用SSL/TLS加密传输方式以保证信息的安全。\n[0047] 步骤S102、客户端向服务器端订阅信息主题\n[0048] 根据用户感兴趣的信息内容,客户端向服务器发送Http请求订阅相应的信息主题,在接收到订阅确认后,自动接收该信息主题下的任何消息,从而实现用户自定义推送服务,满足用户个性化需求。客户端也可以取消订阅,接收服务器端推送的任何主题的消息内容,或者拒绝接收服务器端的推送服务。\n[0049] 步骤S103、服务器端根据所述信息主题主动向客户端推送相应的信息[0050] 当服务器端的数据更新时,服务器端根据客户端订阅的信息主题,通过Websocket数据通道有针对性的向指定的客户端主动推送相应的信息,避免向用户推送垃圾信息而对用户造成骚扰。\n[0051] 步骤S104、客户端接收信息。即客户端接收由服务器端主动推送的信息。\n[0052] 如图2所示,步骤S103中服务器端推送信息的具体流程如下:\n[0053] 步骤S201、服务器端根据信息主题发布相应的信息\n[0054] 服务器端的前端页面根据客户端订阅的信息主题设置相应的发布参数,并将该发布参数以Http请求的方式提交到服务器端的后台服务程序,后台服务程序根据发布参数,按照规定的消息格式发布与信息主题相对应的消息内容。\n[0055] 步骤S202、服务器端根据发布的信息匹配出相应的推送模式\n[0056] 服务器端预设了三种推送模式,包括至多推送一次、至少推送一次和只推送一次。\n其中,“至多推送一次”,允许信息最多被推送一次,信息推送完全依赖底层TCP/IP网络,有可能发生信息丢失,此种模式适合于一般的广告、通知等信息的推送,防止重复推送对用户造成骚扰;“至少推送一次”,信息有可能被重复推送,可以确保信息到达客户端,此种模式适合于帐号余额通知、重要事件提醒等信息的推送;“只推送一次”,确保信息只推送一次,适合于计费系统、交易支付通知等。服务器端根据发布的待推送的信息内容,匹配出与该信息相对应的推送模式。\n[0057] 步骤S203、服务器端通过Websocket数据通道将发布的信息以相应的推送模式主动推送给客户端\n[0058] 本发明根据不同的应用场景,采用不同的信息推送模式,以限制推送消息的次数,既保证信息能够到达客户端,又保证信息发送的频率不致于骚扰用户,适用于不同的用户群体。当客户端有多个,且订阅的信息主题相同时,服务器端只需要根据信息主题发布一次相应的信息,就能将信息同时推送到各个客户端上,实现了一对多的消息发布方式,实现了系统间的耦合,方便扩展和整合。\n[0059] 参见图3,提出本发明的信息推送方法第二实施例,所述信息推送方法包括以下步骤:\n[0060] 步骤S301、客户端A、B和C分别与服务器端基于Websocket协议建立Websocket数据通道\n[0061] 步骤S302、客户端A触发服务器端的定制推送服务\n[0062] 客户端A向服务器端发送Http请求,触发服务器端的定制推送服务。所述定制推送服务包括客户端A定制的推送信息和定制的推送对象,例如客户端A的用户看到服务器端推送的一条信息比较有趣,想与客户端B或/和C的客户分享,就可以触发定制推送服务,用以触发服务器端将所述信息推送给客户端B或/和C。所述定制推送服务也可以是服务器端预设的提醒信息推送服务,例如客户端A与服务器端建立连接后,就自动触发服务器端的提醒信息推送服务,用以向客户端B和C提醒客户端A已上线。\n[0063] 步骤S303、服务器端根据定制推送服务,通过Websocket数据通道主动向客户端B或/和C推送相应的信息\n[0064] 服务器端根据定制推送服务的定制推送信息,发布相应的信息,再根据定制推送服务的定制推送对象,通过Websocket数据通道主动向相应的客户端推送该信息。如定制推送对象仅为客户端B或C,则仅向客户端B或C推送信息,如定制推送对象为客户端B和C,则同时向客户端B和C推送信息。服务器端在推送信息前,也可以根据定制的待推送的信息,匹配出相应的推送模式,再将该定制推送信息以相应的推送模式主动推送给客户端B或/和C,避免对用户造成无谓的骚扰。\n[0065] 步骤S304、客户端B或/和C接收信息\n[0066] 上述客户端B和C也可以触发服务器端的定制推送服务。一个客户端也可以触发服务器端向多个客户端推送信息。\n[0067] 据此,本发明的信息推送方法,通过Websocket协议在客户端与服务器端之间建立Websocket数据通道,实现了客户端与服务器端的全双工通信,因此客户端无需定时向服务器端发送Http请求,服务器端也能主动向客户端推送信息。相对于频繁发起Http请求来获取信息推送的方法,节省了大量的数据流量和网络带宽,降低了使用成本。\n[0068] 服务器端发布一次信息,可以同时向多个客户端推送信息,实现了一对多的信息发布方式,实现了系统间的耦合,方便扩展和整合。\n[0069] 采用了订阅/发布信息的模式,用户可以根据自己的喜好订阅感兴趣的信息,避免不必要的垃圾信息对用户造成骚扰,同时满足了用户的个性化需求。\n[0070] 根据不同的应用场景,采用不同的信息推送模式,以限制推送消息的次数,既保证信息能够到达客户端,又保证信息发送的频率不致于骚扰用户。适用于不同的应用场景和用户群体。\n[0071] 任意一个客户端可以触发服务器端的定制推送服务,与特定的客户端分享特定的信息,增强了互动性和趣味性。\n[0072] 参见图4-图7,提出本发明的信息推送系统一实施例,所述信息推送系统包括客户端100和服务器端200,所述客户端100与服务器端200基于Websocket协议建立Websocket数据通道,所述服务器端200用于通过Websocket数据通道主动向客户端100推送信息,所述客户端100用于接收其推送的信息。所述服务器端200包括前端页面210、后台服务程序220和推送单元230。客户端100与服务器端200建立Websocket数据通道后,还可以对客户端200进行身份验证,待客户端200通过身份验证后方可使用推送服务。同时可使用SSL/TLS加密传输方式以保证信息的安全。\n[0073] 图6所示为服务器端向客户端推送信息的一种方式。客户端100有三个,包括客户端A、B和C,它们分别向服务器端200订阅信息主题,服务器端200根据信息主题发布相应的信息,并通过Websocket数据通道将信息主动推送给客户端A、B和C,客户端A、B和C分别接收服务器端200推送的相应信息。具体的,前端页面210根据相应的信息主题设置相应的发布参数,并将该发布参数以Http请求的方式提交到后台服务程序220,后台服务程序220根据所述发布参数,按照规定的消息格式发布与信息主题相对应的消息内容。推送单元230根据待推送的信息匹配出相应的推送模式,并通过Websocket数据通道将所述信息以相应的推送模式主动推送给客户端100。服务器端200预设了三种推送模式,包括至多推送一次、至少推送一次和只推送一次。其中,“至多推送一次”,允许信息最多被推送一次,信息推送完全依赖底层TCP/IP网络,有可能发生信息丢失,此种模式适合于一般的广告、通知等信息的推送,防止重复推送对用户造成骚扰;“至少推送一次”,信息有可能被重复推送,可以确保信息到达客户端100,此种模式适合于帐号余额通知、重要事件提醒等信息的推送;“只推送一次”,确保信息只推送一次,适合于计费系统、交易支付通知等。\n[0074] 当客户端A、B和C订阅有相同的信息主题时,服务器端200只需要根据该相同的信息主题发布一次相应的信息,就能将信息同时推送到三个客户端100上,实现了一对多的消息发布方式,实现了系统间的耦合,方便扩展和整合。\n[0075] 图7所示为服务器端向客户端推送信息的另一种方式。四个客户端A、B、C和D均与服务器端200建立了Websocket数据通道,其中客户端A触发服务器端200的定制推送服务,服务器端200根据定制推送服务,通过Websocket数据通道主动向客户端B、C和D推送相应的信息,客户端B、C和D接收所述信息。\n[0076] 所述定制推送服务包括客户端A定制的推送信息和定制的推送对象,例如客户端A的用户看到服务器端200推送的一条信息比较有趣,想与客户端B、C和D的客户分享,就可以触发定制推送服务,用以触发服务器端200将所述信息推送给客户端B、C和D。所述定制推送服务也可以是服务器端200预设的提醒信息推送服务,例如客户端A与服务器端200建立连接后,就自动触发服务器端200的提醒信息推送服务,用以向客户端B、C和D提醒客户端A已上线。服务器端200根据定制推送服务的定制推送信息,发布相应的信息,再根据定制推送服务的定制推送对象,通过Websocket数据通道主动向相应的客户端100推送该信息。服务器端200在推送信息前,其推送单元230也可以根据定制的待推送的信息,匹配出相应的推送模式,再将该定制推送信息以相应的推送模式主动推送给客户端B、C和D,避免对用户造成无谓的骚扰。\n[0077] 上述定制推送对象也可以仅为客户端B、C或D中的任意一个,则仅向客户端B、C或D中的任意一个推送信息;定制推送对象也可以为客户端B、C或D中的任意两个,则同时向其中的任意两个推送信息。上述客户端B、C和D也可以触发服务器端200的定制推送服务。\n[0078] 据此,本发明的信息推送系统,通过Websocket协议在客户端与服务器端之间建立Websocket数据通道,实现了客户端与服务器端的全双工通信,因此客户端无需定时向服务器端发送Http请求,服务器端也能主动向客户端推送信息。相对于频繁发起Http请求来获取信息推送的方法,节省了大量的数据流量和网络带宽,降低了使用成本。\n[0079] 服务器端发布一次信息,可以同时向多个客户端推送信息,实现了一对多的信息发布方式,实现了系统间的耦合,方便扩展和整合。\n[0080] 采用订阅/发布信息的模式,用户可以根据自己的喜好订阅感兴趣的信息,避免不必要的垃圾信息对用户造成骚扰,同时满足了用户的个性化需求。\n[0081] 根据不同的应用场景,采用不同的信息推送模式,以限制推送消息的次数,既保证信息能够到达客户端,又保证信息发送的频率不致于骚扰用户。适用于不同的应用场景和用户群体。\n[0082] 任意一个客户端可以触发服务器端的定制推送服务,与特定的客户端分享特定的信息,增强了互动性和趣味性。\n[0083] 应当理解的是,以上仅为本发明的优选实施例,不能因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
法律信息
- 2018-08-14
- 2018-06-26
著录事项变更
申请人由深圳市中兴移动通信有限公司变更为努比亚技术有限公司
地址由518000 广东省深圳市南山区高新区北环大道9018号大族创新大厦A区10楼变更为518000 广东省深圳市南山区高新区北环大道9018号大族创新大厦A区10楼
- 2014-12-03
实质审查的生效
IPC(主分类): H04L 29/08
专利申请号: 201310562544.2
申请日: 2013.11.13
- 2014-01-29
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2006-06-07
|
2004-12-03
| | |
2
| |
2011-04-27
|
2010-12-23
| | |
3
| |
2013-01-02
|
2012-09-12
| | |
4
| |
2012-07-04
|
2011-12-30
| | |
5
| |
2013-03-06
|
2012-10-18
| | |
6
| |
2013-02-20
|
2012-11-15
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |