一种数据高速推送的方法及系统技术方案

技术编号:11091312 阅读:80 留言:0更新日期:2015-02-26 20:13
本发明专利技术公开了一种数据高速推送的方法及系统,涉及一种数据传输技术,旨在提供一种提高效率,降低智能终端或设备的资源开销的数据推送方式及系统。本发明专利技术技术要点:包括客户端登陆消息服务器;在客户端与消息服务器之间建立消息隧道;网络服务器登陆消息服务器;在网络服务器与消息服务器之间建立消息隧道;消息服务器为客户端建立消息队列;网络服务器向所述消息队列推送数据;消息服务器实时将消息队列中的数据推送给所述客户端。

【技术实现步骤摘要】
一种数据高速推送的方法及系统
[0001 ] 本专利技术涉及一种数据传输技术。
技术介绍
最近几年,智能设备,如手机、平板电脑,智能终端,如智能电视、智能冰箱,都具备了运算能力强大的中央处理器。这些中央处理器的存在使得智能设备及智能终端可以完成以前不敢想象的工作。也使得云技术的发展成为了可能,实现了智能设备及终端与云服务器的数据交互及远程控制等。 现有技术中,像智能电视、智能冰箱等设备,从服务器获取数据,如系统更新数据或系统更新程序的方法是“拉”的形式,也就是说智能终端以一定的时间间隔,比如I分钟,以轮询的方式向服务器发出请求,如果服务器有新的内容信息,那么终端可能在一分钟后就能获取到。如果是I秒钟轮询的方式,那么终端可能在I秒后就能获取到新内容。 这种数据推送的方式优点是实现简单,但缺点也是明显的。其缺点包括,如果轮询的时间周期较长,比如I分钟,那么内容的实时性比较低;如果轮询的时间周期很短,比如I秒钟,那么服务器的负载压力会非常大,而且网络带宽的消耗也很大,每台服务器支持的在线终端数量也很有限。可见,要降低服务器的负载压力和网络带宽的开销就会导致实时性下降,要保证高实时性就会导致服务器的高负载和很高的网络带宽开销。
技术实现思路
本专利技术所要解决的技术问题是:针对上述存在的问题,提供一种新的数据推送方式及系统,既可以保证内容传输的实时性,又可以保证服务器的低负载和低带宽开销。 本专利技术提供了一种数据高速推送的方法,包括:步骤1:客户端登陆消息服务器;在客户端与消息服务器之间建立消息隧道;步骤2:网络服务器登陆消息服务器;在网络服务器与消息服务器之间建立消息隧道; 步骤3:消息服务器根据业务类别为客户端建立消息队列;步骤4:网络服务器可以按需要在任意时间向所述消息队列推送数据;步骤5:消息服务器实时将消息队列中的数据推送给所述客户端。 进一步,所述客户端与消息服务器之间的消息隧道为:客户端与消息服务器先建立TCP连接,然后消息服务器向客户端发送心跳,与客户端通过心跳保持长连接,然后消息服务器实时向客户端发送包含有推送数据的心跳包。 进一步,所述消息服务器与网络服务器之间的消息隧道为:消息服务器与网络服务器先建立TCP连接,然后网络服务器向消息服务器发送心跳,通过心跳保持长连接,网络服务器可以按需要在任意时间向消息服务器发送包含有推送数据的心跳包。 优选地,发送心跳包的频率为每间隔广2秒发送一次。 所述步骤3进一步为:消息服务器为已登录的客户端根据业务类别(比如APPl的用户群、APP2的用户群)分别建立消息队列。 优选地,所述客户端为智能终端,网络服务器可以按需要在任意时间向消息服务器推送的数据既可以为系统更新数据,又可以是新增内容数据。 本专利技术还提供了一种数据高速推送的系统,包括客户端、消息服务器以及网络服务器;所述客户端与消息服务器之间建立有第一类消息隧道;所述消息服务器与网络服务器之间建立有第二类消息隧道;所述网络服务器用于按需在任意时间通过所述第二类消息隧道向消息服务器推送数据;所述消息服务器用于实时通过第一类消息隧道向客户端推送所述数据。 进一步,所述消息服务器上具有为客户端建立的消息队列,用于存放网络服务器推送来的数据和客户端集合的元数据信息。 进一步,所述第一类消息隧道为:客户端与消息服务器建立心跳连接,消息服务器实时向客户端发送包含有推送数据的心跳包。 进一步,所述第二类消息隧道为:消息服务器与网络服务器建立心跳连接,网络服务器按需在任意时间向消息服务器发送包含有推送数据的心跳包。 综上所述,由于采用了上述技术方案,本专利技术的有益效果是:1、本专利技术采用推送的方式将网络服务器上的数据主动发送到各个客户端,有效节省了客户端的资源,同时保证了数据的实时性。 2、本专利技术在客户端、消息服务器及网络服务器之间建立的消息隧道,保证客户端与消息服务器,消息服务器与网络服务器的实时通信连接,且以极低的网络流量消耗维持连接。 【附图说明】 本专利技术将通过例子并参照附图的方式说明,其中:图1为本专利技术系统原理框图。 图2为本专利技术数据推送流程图。 【具体实施方式】 本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。 本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。 如图1,本专利技术提供的一种数据高速推送的系统,包括客户端、消息服务器以及网络服务器。在一个实施例中,所述客户端可以是智能空调或智能冰箱等设备。 所述客户端与消息服务器之间建立有第一类消息隧道;所述消息服务器与网络服务器之间建立有第二类消息隧道;所述网络服务器用于按需在任意时间通过所述第二类消息隧道向消息服务器推送数据;所述消息服务器用于实时通过第一类消息隧道向客户端推送所述数据。 其中,按照需要是指网络服务器若发现有需要更新的数据时,就会直接将更新数据推送到消息服务器上。 在其他实施例中,所述消息隧道为客户端与消息服务器或消息服务器与网络服务器之间基于TCP协议建立的一个专用通信通道,采用了自定义的接口协议,通过心跳保持长连接,心跳频率维持在I?2秒内,以保证较低的网络流量消耗。 也就是说网络服务器按照心跳频率将需要推送的数据放在心跳包中,发送到消息服务器的消息队列中,消息服务器实时将网络服务器推送到的消息队列中的数据放在其发给客户端的心跳包中。 在其他实施例中,所述消息服务器上还具有为客户端建立的消息队列,消息服务器可以为客户端建立统一的消息队列,若客户端类型不同,如有的客户端为智能冰箱,有的客户端为智能电视,那么消息服务器可以为不同的客户端分别建立消息队列,还可以按应用场景、应用类型分别建立消息队列。 消息队列含两类数据,一是网络服务器推送过来的内容数据;二是客户端集合的元数据信息。所述客户端集合的元数据信息包括客户端的属性信息、IP地址、连接端口等信息,以告知消息服务器该消息队列中的数据应推送给哪些客户端。 比如空调1、空调2、空调3都连接到消息服务器,空调消息队列中就包含有它们的元数据,包括:空调的设备编号、空调的IP地址、连接端口等信息。 如图2,本专利技术公开的数据推送方法包括:步骤1:客户端登陆消息服务器;在客户端与消息服务器之间建立消息隧道;步骤2:网络服务器登陆消息服务器;在网络服务器与消息服务器之间建立消息隧道; 步骤3:消息服务器为客户端建立消息队列;步骤4:网络服务器按需可在任意时间向所述消息队列推送数据;步骤5:消息服务器实时将消息队列中的数据推送给所述客户端。 下面以智能冰箱的更新数据推送为例进一步解释本专利技术:首先,智能冰箱在消息服务器上注册,注册成功,消息服务器为智能冰箱分配新用户,并且将此智能冰箱的元数据添加到智能冰箱消息队列;注册失败,重新注册。同样的,网络服务器在消息服务器上注册,注册成功,消息服务器为网络服务器分配新用户;注册失败,重新注册。 然后智能冰箱登录消息服务器,与消息服务器建立专用消息隧道。消息隧道保证智能终端与消息服务器的实时通信连接,并本文档来自技高网...

【技术保护点】
一种数据高速推送的方法,其特征在于,包括:步骤1:客户端登陆消息服务器;在客户端与消息服务器之间建立消息隧道;步骤2:网络服务器登陆消息服务器;在网络服务器与消息服务器之间建立消息隧道;步骤3:消息服务器为客户端建立消息队列;步骤4:网络服务器按照需要实时的向所述消息队列推送数据;步骤5:消息服务器实时将消息队列中的数据推送给所述客户端。

【技术特征摘要】
1.一种数据高速推送的方法,其特征在于,包括: 步骤1:客户端登陆消息服务器;在客户端与消息服务器之间建立消息隧道; 步骤2:网络服务器登陆消息服务器;在网络服务器与消息服务器之间建立消息隧道; 步骤3:消息服务器为客户端建立消息队列; 步骤4:网络服务器按照需要实时的向所述消息队列推送数据; 步骤5:消息服务器实时将消息队列中的数据推送给所述客户端。2.根据权利要求1所述的一种数据高速推送的方法,其特征在于,所述客户端与消息服务器之间的消息隧道为:客户端与消息服务器建立心跳连接,消息服务器实时向客户端发送包含有推送数据的心跳包。3.根据权利要求1所述的一种数据高速推送的方法,其特征在于,所述消息服务器与网络服务器之间的消息隧道为:消息服务器与网络服务器通过心跳连接保持长连接通信,网络服务器按需要实时的向消息服务器发送包含有推送数据的心跳包。4.根据权利要求2或3所述的一种数据高速推送的方法,其特征在于,发送心跳包的频率为每间隔f 2秒发送一次。5.根据权利要求1所述的一种数据高速推送的方法,其特征在于,所述步骤3为:消息服务器为已登录的客户端根据客户端类型...

【专利技术属性】
技术研发人员:李强
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川;51

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

1