一种打点的实现方法和装置的制造方法
【专利说明】
【技术领域】
[0001]本发明涉及计算机应用技术领域,特别涉及一种打点的实现方法和装置。
【【背景技术】】
[0002]网站的业务统计数据是一个网站的灵魂,同时为未来的发展提供方向指引。目前大部分的业务统计数据都依赖浏览器端的打点来完成,即浏览器通过发起打点请求将打点数据发送给打点服务器,由打点服务器在日志中记录打点数据。所谓打点数据就是功能点的业务数据,例如当用户点击网页上的某链接,对该链接的点击信息就是业务数据,除此之夕卜,打点数据中还可能会包括用户id、发生时间等,据此打点服务器就能够得到该链接被点击的统计数据。打点的过程实际上就是对业务数据的收集并提供给打点服务器进行业务统计的过程。
[0003]在页面跳转这一特殊的场景下,业务逻辑响应用户操作执行从当前页面到另一页面的跳转,打点逻辑在业务逻辑执行后进行打点处理,然而很多情况下,页面跳转时间小于打点逻辑的完成时间,由于打点逻辑需要在稳定的环境下执行,因此如果页面跳转后,从当前页面环境变成了下一页面环境,打点逻辑会被浏览器取消,从而导致打点请求无法发送至打点服务器。随着浏览器越来越先进,页面跳转时间会越来越短,上述的打点丢失现象也会越来越严重,从而造成业务统计数据失真。
【
【发明内容】
】
[0004]有鉴于此,本发明提供了一种打点的实现方法和装置,以便于减少打点丢失现象。
[0005]具体技术方案如下:
[0006]本发明提供了一种打点的实现方法,该方法包括:
[0007]在页面跳转前,将打点数据记录在具有跨页特性的存储空间;
[0008]在页面跳转后,读取页面跳转前记录的所述打点数据,将所述打点数据通过打点请求发送给打点服务器。
[0009]根据本发明一优选实施方式,所述具有跨页特性的存储空间包括:window.name或 cookie。
[0010]根据本发明一优选实施方式,所述读取页面跳转前记录的所述打点数据包括:
[0011]从所述具有跨页特性的存储空间中查找针对跳转前页面记录的打点数据;或者,
[0012]从所述具有跨页特性的存储空间中读取打点数据后,清空所述具有跨页特性的存储空间中的打点数据。
[0013]根据本发明一优选实施方式,所述将打点数据记录在具有跨页特性的存储空间的步骤由跳转前页面中的网页脚本执行;
[0014]所述读取页面跳转前记录的所述打点数据,将所述打点数据通过打点请求发送给打点服务器的步骤由跳转后页面中的网页脚本执行。
[0015]本发明还提供了一种打点的实现装置,该装置包括:
[0016]记录单元,用于在页面跳转前,将打点数据记录在具有跨页特性的存储空间;
[0017]发送单元,用于在页面跳转后,读取页面跳转前记录的所述打点数据,将所述打点数据通过打点请求发送给打点服务器。
[0018]根据本发明一优选实施方式,所述具有跨页特性的存储空间包括:window.name或 cookie。
[0019]根据本发明一优选实施方式,所述发送单元在读取页面跳转前记录的所述打点数据时,具体执行:从所述具有跨页特性的存储空间中查找针对跳转前页面记录的打点数据;或者,从所述具有跨页特性的存储空间中读取打点数据后,清空所述具有跨页特性的存储空间中的打点数据。
[0020]根据本发明一优选实施方式,所述记录单元为跳转前页面中的网页脚本;
[0021]所述发送单元为跳转后页面中的网页脚本。
[0022]由以上技术方案可以看出,本发明在页面跳转前将打点数据记录在具有跨页特性的存储空间,在页面跳转后读取打点数据并发送打点请求,也就是说,在当前页面的停留阶段发送跳转前页面停留阶段记录的打点数据,从而保证打点请求发送的足够时间,减少打点丢失现象,保证业务统计数据的准确性。
【【附图说明】】
[0023]图1为本发明实施例一提供的打点的实现方法流程图;
[0024]图2为本发明实施例二提供的打点的实现装置结构图。
【【具体实施方式】】
[0025]为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0026]本发明中不再将打点过程卡在业务逻辑和页面跳转之间的间隙完成,而是在页面跳转前完成打点数据的记录,在页面跳转后再将页面跳转前记录的打点数据通过打点请求发送给打点服务器。下面通过实施例一对本发明提供的方法进行详细描述。
[0027]实施例一、
[0028]图1为本发明实施例一提供的方法流程图,如图1所示,该方法包括以下步骤:
[0029]步骤101:在页面跳转前,将打点数据记录在具有跨页特性的存储空间中。
[0030]由于原则上,打点逻辑不允许阻塞和影响业务逻辑,因此当业务逻辑执行完成后,打点逻辑针对当前页面记录打点数据,该打点数据的记录必须保证在页面跳转前完成,避免记录打点数据的操作因页面跳转造成的环境变更而被取消。
[0031]由于打点请求会在页面跳转后发送,因此为了保证打点数据不丢失,将打点数据记录在具有跨页特性的存储空间中,由于打点数据的记录和读取都要尽量的保证时间短暂,因此优选的具有跨页特性的存储空间为window, name或cookie。对其中的widow, name进行简单介绍,widow, name是在浏览器环境中的一个widow对象的属性,且当加载新页面时,该属性的属性值依旧保持不变,并且该属性可以支持较长的属性值,通常为2MB。cookie已经较为熟知,在此不再介绍。
[0032]本发明实施例中涉及的打点逻辑可以通过网页脚本实现,例如javascript,也可以通过其他页面程序来实现,本步骤的操作在页面跳转前的网页脚本中执行。
[0033]记录的打点数据通常包括功能点的标识信息以及所在页面的信息,例如当用户点击页面I上的某超链接时,记录该超链接的标识信息以及该超链接所在页面的信息,由于对于某功能点来说可能不同操作类型产生不同的结果,此时,还可以进一步包括针对该功能点的操作类型,还可以进一步包括其他参数信息,在此不一一列举。
[0034]步骤102:在页面跳转后,读取页面跳转前记录的打点数据,将打点数据通过打点请求发送给打点服务器。
[0035]在本发明实施例中,在页面跳转后,为了保证留给打点请求发送的时间,尽早地开始执行本步骤。在页面跳转后,页面加载过程会包括获取页面源代码、初始化页面环境以及运行页面程序的过程,在本发明实施例中,只要运行打点逻辑所需要的页面环境初始化完成即可执行本步骤。
[0036]也就是说,在当前页面的停留阶段发送跳转前页面停留阶段记录的打点数据,依次类推。由于读取打点数据并发送打点请求的时间通常在毫秒级,例如50ms?500ms,而页面停留阶段的时间通常至少包括页面加载时间和响应用户操作的时间等,至少在秒级,因此完全能够保证打点请求成功发送。
[0037]在获取页面跳转前记录的打点数据时,一种实现方式是:查找针对当前页面所来源页面记录的打点数据,由于打点数据中包括所在页面的信息,据此就可以查找到针对