一种页面心跳信息处理方法及客户端的制作方法

文档序号:9814317阅读:1459来源:国知局
一种页面心跳信息处理方法及客户端的制作方法
【技术领域】
[0001]本发明涉及计算机网络技术领域,尤其涉及一种页面心跳信息处理方法及客户端。
【背景技术】
[0002]心跳机制,客户端定时发送简单的固定信息给服务器端,以此证明自己处于生存状态。
[0003]—般地,服务器端为了实时了解浏览器端的生存状态,需要浏览器端的每个页面定时并持续的向服务器端发送心跳信息,通知服务器端当前页面处于生存状态。
[0004]然而,上述心跳机制仍存在以下缺陷:
[0005]I)、如果客户端发送心跳频率过快,服务器端不能及时了解各个客户端的信息及生存状态;
[0006]2)、每个页面各自发出的心跳信息,在服务器端形成的信息流非常分散和杂乱;
[0007]3)、一般客户端心跳接口都只是提供固定信息给服务器端,没有为客户端提供信息扩展的功能。

【发明内容】

[0008]为解决上述技术问题,本发明实施例提供了一种页面心跳信息处理方法及客户端,减少客户端与服务器端之间的交互频率,避免服务器端因接收每个页面各自发出的心跳信息,而造成信息流分散、杂乱,以及为心跳信息提供信息扩展的功能。
[0009]本发明实施例的第一方面提供一种,包括:
[0010]一种页面心跳信息处理方法,应用于浏览器,所述浏览器上至少打开有一个页面,所述方法包括:
[0011 ]客户端在事件总线上注册每一个网页对应的心跳事件;
[0012]所述客户端按照第一时间的时间间隔持续触发所述心跳事件,得到所述心跳事件对应的心跳信息;
[0013]所述客户端将所述心跳信息保存在所述浏览器本地缓存内,并判断向服务器端发送心跳请求消息的第二时间是否已经到达,若是,则将所述浏览器本地缓存内保存的所述心跳信息进行打包处理,得到所述心跳请求消息。
[0014]优选地,所述第一时间为得到相邻两个所述心跳信息的间隔时间,所述第二时间为向服务器端发送所述心跳请求消息的间隔时间,且所述第一时间短于所述第二时间。
[0015]优选地,所述心跳事件包括:固定handler处理机制和扩展handler,所述扩展hand Ier的切入点为所述固定hand Ier之前。
[0016]优选地,所述心跳信息包括:固定部分和扩展部分,所述客户端按照第一时间的时间间隔持续触发所述心跳事件,得到所述心跳事件对应的心跳信息包括:
[0017]所述客户端按照第一时间的时间间隔持续触发所述心跳事件;
[0018]所述客户端根据所述事件总线调用所述扩展handler,得到所述扩展部分,并根据所述事件总线调用所述固定hand I er,得到所述固定部分;
[0019]所述客户端对所述固定部分和所述扩展部分进行处理,得到所述心跳信息。
[0020]优选地,所述客户端判断是否到达向服务器端发送心跳请求消息的第二时间还包括:
[0021]若否,则更新所述浏览器本地缓存内保存的所述心跳信息。
[0022]—种客户端,应用于浏览器,所述浏览器上至少打开有一个页面,包括:
[0023]注册模块,用于在事件总线上注册每一个网页对应的心跳事件;
[0024]心跳信息获得模块,用于按照第一时间的时间间隔持续触发所述注册模块注册的心跳事件,得到所述心跳事件对应的心跳信息;
[0025]保存模块,用于将所述心跳信息获得模块得到的心跳信息保存在所述浏览器本地缓存内;
[0026]判断模块,用于判断向服务器端发送心跳请求消息的第二时间是否已经到达;
[0027]心跳请求消息获得模块,用于当所述判断模块判断向服务器端发送心跳请求消息的第二时间已经到达时,则将所述保存模块保存的心跳信息进行打包处理,得到所述心跳请求消息。
[0028]优选地,所述第一时间为得到相邻两个所述心跳信息的间隔时间,所述第二时间为向服务器端发送所述心跳请求消息的间隔时间,且所述第一时间短于所述第二时间。
[0029]优选地,所述心跳事件包括:固定handler处理机制和扩展handler,所述扩展hand Ier的切入点为所述固定hand Ier之前。
[0030]优选地,所述心跳信息包括:固定部分和扩展部分,所述心跳信息获得模块包括:
[0031]触发子模块,用于按照第一时间的时间间隔持续触发所述心跳事件;
[0032]扩展部分获得子模块,用于根据所述事件总线调用所述扩展handler,得到所述扩展部分;
[0033]固定部分获得子模块,用于根据所述事件总线调用所述固定handler,得到所述固定部分;
[0034]心跳信息获得子模块,用于对所述固定部分和所述扩展部分进行处理,得到所述心跳ig息。
[0035]优选地,还包括:
[0036]更新模块,用于当所述判断模块判断向服务器端发送心跳请求消息的第二时间未到达时,则更新所述浏览器本地缓存内保存的所述心跳信息。
[0037]本发明提供的技术方案中,通过浏览器本地缓存对页面的心跳信息进行临时缓存,并通过对浏览器本地缓存内保存的心跳信息进行打包处理,整体发送给服务器端,以减少客户端与服务器端之间的交互频率,以及避免服务器端因接收每个页面各自发出的心跳信息,而造成信息流分散、杂乱的问题。另外,通过注册心跳事件机制,可以为固定内容的心跳信息提供信息扩展的功能。
【附图说明】
[0038]图1为本发明页面心跳信息处理方法实施例的步骤流程图;
[0039]图2为本发明页面心跳信息处理方法实施例中服务器端处理页面心跳信息的步骤流程图;
[0040]图3为本发明客户端实施例的模块框图。
【具体实施方式】
[0041]本发明实施例提供了一种页面心跳信息处理方法及客户端,应用于浏览器,该浏览器上至少打开有一个页面,以下分别进行详细说明。
[0042]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0043]本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0044]请参阅图1,本发明实施例中页面心跳信息处理方法一个实施例包括:
[0045]S110、客户端在事件总线上注册每一个网页对应的心跳事件。
[0046]—般地,事件总线具有事件的发布、订阅以及触发机制。具体地,首先事件发布者Event PubIisher将事件Event发布到事件总线Event Bus上,然后由事件订阅者EventSubscriber触发该事件Event,最后由事件总线Event Bus调用该事件Event。
[0047]本发明实施例中,通过在事件总线上注册心跳事件的机制,可以为页面开发者提供事件扩展点,使得最终得到的心跳信息不仅包括页面的固定信息,而且可以额外增加客户化的扩展信息,如:当前页面状态的相关信息。
[0048]需要说明的是,本发明实施例中,浏览器上至少打开有一个页面,而每一个页面都会独立生成自己的心跳信息。
[0049]S120、客户端按照第一时间的时间间隔持续触发心跳事件,得到心跳事件对应的心跳ig息。
[0050]本发明实施例中,该心跳事件包括:固定handler处理机制和扩展handler,扩展handler的切入点为固定handler之前。也就是说,当该心跳事件被触发时,将按照扩展handl er和固定handl er的前后顺序依次被事件总线调用,从而得到心跳信息。
[0051]需要说明的是,本发明实施例中,该心跳信息包括:固定部分和扩展部分。与现有技术中的心跳信息仅包括固定部分不同的是,本发明实施例中,心跳信息不仅包括固定部分,而且还包括扩展部分。其中,该扩展部分可以是前页面状态的相关信息,具体此处不做限定。
[0052]上述步骤S120具体包括:
[0053]S121、客户端按照第一时间的时间间隔持续触发心跳事件。
[0054]本发明实施例中,每隔第一时间触发一次心跳事件,通过触发该心跳事件便会得到一个心跳信息。此处的第一时间可以依据实际需求来设定时间的长短,具体此处不做限定。
[0055]S122、客户端根据事件总线调用扩展handler,得到扩展部分。
[0056]本发明实施例中,当心跳事件被触发后,相应的,事件总线会依照顺序依次调用心跳事件下的一个或多个hand I er。那么,此处首先调用扩展hand I er,得到扩展部分。
[0057]S123、客户端根据事件总线调用固定handler,得到所述固定部分。
[0058]本发明实施例中,由于扩展handler的切入点为固定handler之前,那么,在调用扩展handler之后,便开始调用固定handler,得到固定部分。
[0059]S124、客户端对固定部分和扩展部分进行处理,得到心跳信息。
[0060]本发明实施例中,在通过固定部分形成心跳信息之前,首先需要获得扩展部分,在形成心跳信息时,将扩展部分增加到心跳信息中,从而使得心跳信息具有信息扩展的功能。
[0061]S130、客户端将心跳信息保存在浏览器本地缓存内,并判断向服务器端发送心跳请求消息的第二时间是否已经到达,若是,则将浏览器本地缓存内保存的心跳信息进行打包处理,得到心跳请求消息。
[0062]上述步骤S130还包括:
[0063]S131、若否,则更新浏览器本地缓存内保存的心跳信息。
[0064]本发明实施例中,若客户端判断向服务器端发送心跳请求消息的第二时间未到达时,则将新的心跳信息替换旧的心跳信息。
[0065]需要说明的是,本发明实施例中,第一时间为得到相邻两个心跳信息的间隔时间,第二时间为向服务器端发送心跳请求消息的间隔时间,且第一时间短于第二时间。因为第一时间短于第二时间,所以如果在页面生成心跳信息之后,马上将心跳信息发送给服务器端,势必会造成客户端发送心跳频率过快,导致服务器端不能及时了解各个页面的信息及生存状态。
[0066]本发明实施例中,根据HTML5(超文本标记语言)的特性,
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1