一种信息推送方法及装置与流程

文档序号:16631535发布日期:2019-01-16 06:37阅读:127来源:国知局
一种信息推送方法及装置与流程

本发明涉及信息传输技术领域,更具体地说,涉及一种信息推送方法及装置。



背景技术:

websocket协议是基于tcp的一种新的网络协议,它实现了浏览器与服务器全双工(full-duplex)通信,允许服务端主动推送信息给浏览器端。websocket中room的概念指一个房间,如同qq中的群组,服务端可以将信息向一个room中加入的所有浏览器端推送,使得该room中的所有成员(浏览器端)收到同样的信息。

现有技术每当room对应的订阅信息有信息更新时,便直接将更新信息推送到加入room中的各个浏览器端,以使得各个浏览器端展示更新信息。这种方式虽然可以使得各个浏览器端实现对订阅信息的实时展示,但是,却通常存在带宽压力大、浏览器端信息展示效果不理想的情况发生。尤其是当订阅信息更新非常快时,带宽压力不仅严重增大、而且推送给浏览器端的信息要么是一直处于更新状态、要么还未来得及展示便已被新的更新信息取代。

有鉴于此,如何提供一种信息推送方法及装置,以在缓解带宽压力的基础上,提高浏览器端信息展示效果,是亟待解决的问题。



技术实现要素:

有鉴于此,本发明提供一种信息推送方法及装置,以在缓解带宽压力的基础上,提高浏览器端信息展示效果。

技术方案如下:

一种信息推送方法,应用于服务端,所述服务端中设置有room,该方法包括:

检测与所述room对应的订阅信息中是否存在更新信息;

当与所述room对应的订阅信息中存在更新信息时,确定当前时间与历史最近一次向加入所述room的浏览器端推送信息的时间之间的时间间隔是否达到第一预设阈值;

若是,向当前加入所述room中的每个浏览器端推送所述更新信息,以便于接收到所述更新信息的浏览器端展示所述更新信息。

优选的,若当前时间与历史最近一次向加入所述room的浏览器端推送信息的时间之间的时间间隔未达到第一预设阈值时,该方法还包括:

确定不向加入所述room中的每个浏览器端推送所述更新信息。

优选的,所述向当前加入所述room中的每个浏览器端推送所述更新信息,包括:

在当前时间与历史最近一次向加入所述room的浏览器端推送信息的时间之间所述订阅信息的所有更新信息未达到第二预设阈值时,向当前加入所述room中的每个浏览器端推送所述更新信息。

优选的,在当前时间与历史最近一次向加入所述room的浏览器端推送信息的时间之间所述订阅信息的所有更新信息达到第一预设阈值时,该方法还包括:

向当前加入所述room中的每个浏览器端推送信息更新通知,所述信息更新通知用于提示所述订阅信息中存在信息更新。

优选的,还包括:

分别接收当前加入所述room的每个所述浏览器端响应所述信息更新通知,发送的信息查询请求,所述信息查询请求携带信息查询条件;

针对每个所述信息查询请求,获取所述订阅信息中的满足所述信息查询请求携带的信息查询条件的信息,得到与所述信息查询请求对应的信息查询结果;

分别向每个所述浏览器端推送与其发送的信息查询请求对应的信息查询结果。

优选的,浏览器端响应所述信息更新通知,发送信息查询请求的方法包括:

浏览器端响应接收到的信息更新通知,获取与所述浏览器端对应的信息查询条件;与浏览器端对应的信息查询条件是基于浏览器端的信息展示方式、浏览器端历史浏览行为和用户预先对浏览器端对执行的信息查询条件配置操作中的一种或多种生成的;

生成并发送携带所述信息查询条件的信息查询请求。

一种信息推送装置,应用于服务端,所述服务端中设置有room,该装置包括:

更新信息检测单元,用于检测与所述room对应的订阅信息中是否存在更新信息;

判断单元,用于当与所述room对应的订阅信息中存在更新信息时,确定当前时间与历史最近一次向加入所述room的浏览器端推送信息的时间之间的时间间隔是否达到第一预设阈值;

信息推送单元,用于若确定当前时间与历史最近一次向加入所述room的浏览器端推送信息的时间之间的时间间隔达到第一预设阈值,向当前加入所述room中的每个浏览器端推送所述更新信息,以便于接收到所述更新信息的浏览器端展示所述更新信息。

优选的,所述信息推送单元还用于:

若确定当前时间与历史最近一次向加入所述room的浏览器端推送信息的时间之间的时间间隔未达到第一预设阈值,确定不向加入所述room中的每个浏览器端推送所述更新信息。

优选的,所述信息推送单元具体用于:

若确定当前时间与历史最近一次向加入所述room的浏览器端推送信息的时间之间的时间间隔达到第一预设阈值,且在当前时间与历史最近一次向加入所述room的浏览器端推送信息的时间之间所述订阅信息的所有更新信息未达到第二预设阈值时,向当前加入所述room中的每个浏览器端推送所述更新信息。

优选的,所述信息推送单元还用于:

若确定当前时间与历史最近一次向加入所述room的浏览器端推送信息的时间之间的时间间隔达到第一预设阈值,且在当前时间与历史最近一次向加入所述room的浏览器端推送信息的时间之间所述订阅信息的所有更新信息达到第一预设阈值时,向当前加入所述room中的每个浏览器端推送信息更新通知,所述信息更新通知用于提示所述订阅信息中存在信息更新。

本申请实施例提供一种信息推送方法及装置,应用于服务端,该方法在每当检测到服务端中设置的room对应的订阅信息中存在一条更新信息时,并不直接向当前加入该room的各个浏览器端推送该条更新信息,而是只有在检测到该条更新信息的时间与历史最后一次向加入该room的各个浏览器推送信息的时间之间的时间间隔达到第一预设阈值的情况下,才会向当前加入该room的各个浏览器端推送该条更新信息,使得在room对应的订阅信息更新较快的情况下,服务端并不是每检测到与room对应的订阅信息中存在一条更新信息时,便向当前加入该room的各个浏览器端推送一条更新信息,这样,不仅缓解了带宽压力,而且不会出现因订阅信息更新较快所导致的浏览器端信息展示效果不理想的情况。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的一种信息推送方法流程图;

图2为本申请实施例提供的另一种信息推送方法流程图;

图3为本申请实施例提供的又一种信息推送方法流程图;

图4为本申请实施例提供的一种信息推送装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例:

本申请实施例提供一种信息推送方法,该信息推送方法应用于服务端,服务端中设置有多个room。

在本申请实施例中,每当浏览器端打开一个网页时,如果该网页用于展示订阅信息,则该浏览器端会向服务端发送一个信息推送请求,该信息推送请求携带该网页请求展示的订阅信息。相应的,服务端在接收到信息推送信息后,会确定服务端是否已存在与信息推送请求携带的订阅信息对应的room;若确定服务端已存在与信息推送请求携带的订阅信息对应的room,将该浏览器端加入该推送请求携带的订阅信息对应的room;若确定服务端不存在与信息推送请求携带的订阅信息对应的room,则在服务端创建与该订阅信息对应的room,并将该浏览器端加入该创建的room。

服务端会对其中所创建的各个room进行管理,以实现将与room对应的订阅信息中的更新信息推送给加入room中的各个浏览器端。其中,服务端对room进行管理以向加入room的浏览器端进行信息推送的方法可以参见图1。

图1为本申请实施例提供的一种信息推送方法流程图,如图1所示的信息推送方法应用于服务端,服务端可以对其中所创建的每个room执行如图1所示的信息推送方法。

如图1所示,该方法包括:

s101、检测与room对应的订阅信息中是否存在更新信息;当与room对应的订阅信息中存在更新信息时,执行步骤s102;

在本申请实施例中,每当检测到room对应的订阅信息中存在一条更新信息时,便执行步骤s102。

s102、确定当前时间与历史最近一次向加入room的浏览器端推送信息的时间之间的时间间隔是否达到第一预设阈值;若是,执行步骤s103;

其中,确定当前时间与历史最近一次向加入room的浏览器端推送信息的时间之间的时间间隔是否达到第一预设阈值可以理解为确定检测到该条更新信息的时间与历史最近一次向加入该room的浏览器端推送信息的时间之间的时间间隔是否达到第一预设阈值。

在本申请实施例中,第一预设阈值的具体数值发明人可根据自己的需求进行设置,在此不做限定。

s103、向当前加入room中的每个浏览器端推送更新信息,以便于接收到更新信息的浏览器端展示更新信息。

在本申请实施例中,在检测到room对应的订阅信息存在一条更新信息,并且检测到该条更新信息的时间与历史最近一次向加入该room的浏览器端推送信息的时间之间的时间间隔达到第一预设阈值的情况下,向当前加入该room的各个浏览器端推送该条更新信息。

在本申请实施例中,可以忽略检测到更新信息的时间与room对应的订阅信息中产生该条更新信息之间的时间间隔,也就是说,在检测到room对应的订阅信息存在一条更新信息,并且room对应的订阅信息产生该条更新信息的时间与历史最近一次向加入该room的浏览器端推送信息的时间之间的时间间隔达到第一预设阈值的情况下,向当前加入该room的各个浏览器端推送该条更新信息。

其中,时间间隔大于等于第一预设阈值时,可以认为是时间间隔达到第一预设阈值。

图2为本申请实施例提供的另一种信息推送方法流程图。

如图2所示,该方法包括:

s201、检测与room对应的订阅信息中是否存在更新信息;当与room对应的订阅信息中存在更新信息时,执行步骤s202;

s202、确定当前时间与历史最近一次向加入room的浏览器端推送信息的时间之间的时间间隔是否达到第一预设阈值;若是,执行步骤s203;若否,执行步骤s204;

s203、向当前加入room中的每个浏览器端推送更新信息,以便于接收到更新信息的浏览器端展示更新信息;

本申请实施例提供的步骤s201-s203的执行过程与上述实施例提供的步骤s101-s103的执行过程相同,有关步骤s201-s203的具体执行方式请参见上述实施例对步骤s101-s103的描述,再此不做限定。

s204、确定不向加入room中的每个浏览器端推送更新信息。

在本申请实施例中,在检测到room对应的订阅信息存在一条更新信息,并且检测到该条更新信息的时间与历史最近一次向加入该room的浏览器端推送信息的时间之间的时间间隔未达到第一预设阈值的情况下,则确定不向加入room中的每个浏览器端推送该条更新信息。

或者,在检测到room对应的订阅信息存在一条更新信息,并且room对应的订阅信息产生该条更新信息的时间与历史最近一次向加入该room的浏览器端推送信息的时间之间的时间间隔未达到第一预设阈值的情况下,则确定不向加入room中的每个浏览器端推送该条更新信息。

本申请实施例提供的一种信息推送方法,对room对应的订阅信息进行检测,每当room对应的订阅信息存在一条更新信息时,该条被更新信息便被检测出,相应的,在检测到room对应的订阅信息存在一条更新信息时,只有在检测到该条更新信息的时间与历史最近一次向加入该room的浏览器端推送信息的时间之间的时间间隔达到第一预设阈值的情况下,才向当前加入该room中的每个浏览器端推送该条更新信息,而在检测到该条更新信息的时间与历史最近一次向加入该room的浏览器端推送信息的时间之间的时间间隔未达到第一预设阈值的情况下,不向加入当前该room的每个浏览器端推送该条更新信息的方式,使得只向加入room中的浏览器推送对应该room的订阅信息中每隔第一预设阈值产生的一条更新信息,避免了在room对应的订阅信息更新较快所导致的不仅带宽压力大、而且浏览器端信息展示效果不理想的问题。

图3为本申请实施例提供的又一种信息推送方法流程图。

如图3所示,该方法包括:

s301、检测与room对应的订阅信息中是否存在更新信息;当与room对应的订阅信息中存在更新信息时,执行步骤s302;

s302、确定当前时间与历史最近一次向加入room的浏览器端推送信息的时间之间的时间间隔是否达到第一预设阈值;若是,执行步骤s303;

s303、确定当前时间与历史最近一次向加入room的浏览器端推送信息的时间之间订阅信息的所有更新信息是否达到第二预设阈值;若否,执行步骤s304;若是,执行步骤s305;

在本申请实施例中,在当前时间与历史最近一次向加入room的浏览器端推送信息的时间之间,与该room对应的订阅信息产生的所有更新信息的条数未达到第二预设阈值时,执行步骤s304;在当前时间与历史最近一次向加入room的浏览器端推送信息的时间之间,与该room对应的订阅信息产生的所有更新信息的条数达到第二预设阈值时,执行步骤s305。

其中,有关第二预设阈值的具体数值发明人可根据自己的需求进行设置,再此不做限定。

s304、向当前加入room中的每个浏览器端推送更新信息,以便于接收到更新信息的浏览器端展示更新信息;

s305、向当前加入room中的每个浏览器端推送信息更新通知,信息更新通知用于提示订阅信息中存在信息更新;

s306、分别接收当前加入room的每个浏览器端响应信息更新通知,发送的信息查询请求,信息查询请求携带信息查询条件;

在本申请实施例中,每个浏览器端在接收到信息更新通知后,会响应该信息更新通知,生成并向服务端返回信息查询请求,信息查询请求携带信息查询条件。

浏览器端响应信息更新通知,生成并向服务端返回信息查询请求的方式,可以为:浏览器端响应信息更新通知,获取与该浏览器端对应的信息查询条件,生成携带该信息查询条件的信息查询请求,并向服务端返回该生成的信息查询请求。

浏览器端响应信息更新通知,获取到的与该浏览器端对应的信息查询条件与该浏览器端自身相关,比如,可以与该浏览器端的信息展示方式相关、与该浏览器端的历史浏览行为相关、和/或与用户预先对该浏览器端执行的信息查询条件配置操作相关。

其中,浏览器端的信息展示方式可以理解为浏览器端对订阅信息的展示方式相关,比如,每个网页展示10条订阅信息的更新信息。

在本申请实施例中,浏览器端对应的信息查询条件随着浏览器端的信息展示方式、浏览器端历史浏览行为,和/或用户预先对浏览器端对执行的信息查询条件配置操作的变化而变化;相应的,浏览器端接收到信息更新通知,响应信息更新通知,获取的是浏览器端当前对应的信息查询条件,并生成并向服务端发送携带该获取到的信息查询条件的信息查询请求。

在本申请实施例中,针对每一个向服务端返回信息查询请求的浏览器端而言,该浏览器端是通过http协议向服务端发送的信息查询请求。

s307、针对每个信息查询请求,获取订阅信息中的满足信息查询请求携带的信息查询条件的信息,得到与信息查询请求对应的信息查询结果;

在本申请实施例中,服务端向当前加入room的每个浏览器端信息更新通知,并接收到的每个浏览器端基于http协议返回的信息查询请求后,针对每个信息查询请求,均会从room对应的订阅信息中获取到满足该信息查询请求携带的信息查询条件的信息查询结果,并针对每个信息查询请求,将该信息查询请求的信息查询结果通过http协议返回给发送该信息查询请求的浏览器端。

s308、分别向每个浏览器端推送与其发送的信息查询请求对应的信息查询结果。

图4为本申请实施例提供的一种信息推送装置的结构示意图。如图4所示的信息推送装置应用于服务端,服务端中设置有room,

如图4所示,该装置包括:

更新信息检测单元41,用于检测与room对应的订阅信息中是否存在更新信息;

判断单元42,用于当与room对应的订阅信息中存在更新信息时,确定当前时间与历史最近一次向加入room的浏览器端推送信息的时间之间的时间间隔是否达到第一预设阈值;

信息推送单元43,用于若确定当前时间与历史最近一次向加入room的浏览器端推送信息的时间之间的时间间隔达到第一预设阈值,向当前加入room中的每个浏览器端推送更新信息,以便于接收到更新信息的浏览器端展示更新信息。

进一步的,本申请实施例提供的一种信息推送单元还用于:若确定当前时间与历史最近一次向加入room的浏览器端推送信息的时间之间的时间间隔未达到第一预设阈值,确定不向加入room中的每个浏览器端推送更新信息。

在本申请实施例中,优选的,信息推送单元具体用于:若确定当前时间与历史最近一次向加入room的浏览器端推送信息的时间之间的时间间隔达到第一预设阈值,且在当前时间与历史最近一次向加入room的浏览器端推送信息的时间之间订阅信息的所有更新信息未达到第二预设阈值时,向当前加入room中的每个浏览器端推送更新信息。

进一步的,本申请实施例提供的一种信息推送单元还用于:若确定当前时间与历史最近一次向加入room的浏览器端推送信息的时间之间的时间间隔达到第一预设阈值,且在当前时间与历史最近一次向加入room的浏览器端推送信息的时间之间订阅信息的所有更新信息达到第一预设阈值时,向当前加入room中的每个浏览器端推送信息更新通知,信息更新通知用于提示订阅信息中存在信息更新。

本申请实施例提供一种信息推送方法及装置,应用于服务端,该方法在每当检测到服务端中设置的room对应的订阅信息中存在一条更新信息时,并不直接向当前加入该room的各个浏览器端推送该条更新信息,而是只有在检测到该条更新信息的时间与历史最后一次向加入该room的各个浏览器推送信息的时间之间的时间间隔达到第一预设阈值的情况下,才会向当前加入该room的各个浏览器端推送该条更新信息,使得在room对应的订阅信息更新较快的情况下,服务端并不是每检测到与room对应的订阅信息中存在一条更新信息时,便向当前加入该room的各个浏览器端推送一条更新信息,这样,不仅缓解了带宽压力,而且不会出现因订阅信息更新较快所导致的浏览器端信息展示效果不理想的情况。

以上对本发明所提供的一种信息推送方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1