用户行为数据的上传方法、装置、设备及介质
文献发布时间:2023-06-19 10:29:05
技术领域
本发明涉及信息技术领域,尤其涉及一种用户行为数据的上传方法、装置、设备及介质。
背景技术
现有技术通过平台监控技术对用户的行为进行埋点监测,收集用户的行为数据。若用户不是通过页面上的按钮退出时,现有技术没有对异常数据进行保存,从而无法得到用户在功能点上完整的停留时长;现有技术也无没有对异常数据的触发条件进行记录,严重影响到了缺陷的查找速度,用户行为的监测效果欠佳,不利于对功能点进行优化。
发明内容
本发明实施例提供了一种用户行为数据的上传方法、装置、设备及介质,以解决现技术对用户行为的监测效果欠佳、没有对异常数据及其触发条件进行保存的问题。
一种用户行为数据的上传方法,包括:
对用户在页面上的行为进行监测,获取用户触发的行为事件,将所述行为事件保存至预设缓存池;
按照预设的续传触发条件将所述预设缓存池中的行为事件发送至服务器;
当接收到所述服务器返回的上传成功消息时,保留所述预设缓存池中最后保存的行为事件,删除除所述最后保存的行为事件外的其余行为事件;
在删除其余行为事件后若再获取到行为事件时,删除预设缓存池中保留的行为事件,将所述再获取到的行为事件保存至所述预设缓存池中。
可选地,所述按照预设的续传触发条件将所述预设缓存池中的行为事件发送至服务器包括:
在行为事件保存至所述预设缓存池后,判断所述预设缓存池中的行为事件的数目是否达到预设数目阈值;
当所述预设缓存池中的行为事件的数目达到预设数目阈值时,将所述预设缓存池中的行为事件发送至服务器;
当所述预设缓存池中的行为事件的数目未达到预设数目阈值时,判断是否到达续传时间节点;
若到达续传时间节点时,将所述预设缓存池中的行为事件发送至服务器。
可选地,所述方法还包括:
当接受到退出指令时,将所述预设缓存池中的行为事件发送至服务器;
生成退出事件,将所述退出事件发送至服务器;
当接收到服务器返回的上传成功消息时,删除所述预设缓存池中的行为事件;
结束监测用户在浏览器上的行为。
可选地,所述方法还包括:
若接收到登录指令时,判断预设缓存池中是否存在行为事件;
若所述预设缓存池中存在行为事件时,将所述行为事件发送至服务器,删除所述预设缓存池中的行为事件;
生成登录事件,将所述登录事件发送至服务器。
可选地,在将所述行为事件发送至服务器之前,所述方法还包括:
对所述预设缓存池中最后保存的一个行为事件添加异常标记。
可选地,所述行为事件的内容包括事件信息、事件发生时间、事件开始或结束标识、用户唯一标识、用户名、页面的菜单属性中的至少一种。
一种用户行为数据的上传装置,包括:
获取模块,用于对用户在页面上的行为进行监测,获取用户触发的行为事件,将所述行为事件保存至预设缓存池;
续传模块,用于按照预设的续传触发条件将所述预设缓存池中的行为事件发送至服务器;
第一删除模块,用于当接收到所述服务器返回的上传成功消息时,保留所述预设缓存池中最后保存的行为事件,删除除所述最后保存的行为事件外的其余行为事件;
保存模块,用于在删除其余行为事件后若再获取到行为事件时,删除预设缓存池中保留的行为事件,将再获取到的行为事件保存至所述预设缓存池中。
可选地,所述装置包括:
判断模块,用于若接收到登录指令时,判断预设缓存池中是否存在行为事件;
第二删除模块,用于若所述预设缓存池中存在行为事件时,将所述行为事件发送至服务器,删除所述预设缓存池中的行为事件;
第一生成模块,用于生成登录事件,将所述登录事件发送至服务器。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述用户行为数据的上传方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述用户行为数据的上传方法。
本发明实施例通过对用户在页面上的行为进行监测,获取用户触发的行为事件,将所述行为事件保存至预设缓存池;按照预设的触发条件将所述预设缓存池中的行为事件发送至服务器;当接收到所述服务器返回的上传成功消息时,保留所述预设缓存池中最后保存的一个行为事件,删除除所述最后保存的行为事件外的其余行为事件;在删除其余行为事件后若再获取到行为事件时,删除预设缓存池中保留的行为事件,将再获取到的行为事件保存至所述预设缓存池中;从而提供了一种监测及上传用户行为的新方式,通过在缓存池中保留一个行为事件,有利于保证用户行为数据的完整性和连续性,且网络延迟的异常情况进行识别,有效地优化了对用户行为的监测效果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中用户行为数据的上传方法的流程图;
图2是本发明一实施例中用户行为数据的上传方法中步骤S102的流程图;
图3是本发明另一实施例中用户行为数据的上传方法的流程图;
图4是本发明另一实施例中用户行为数据的上传方法的流程图;
图5是本发明一实施例中用户行为数据的上传装置的一原理框图;
图6是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供了一种用户行为数据的上传方法。以下将对本实施例提供的用户行为数据的上传方法进行详细的描述,如图1所示,所述用户行为数据的上传方法包括:
在步骤S101中,对用户在页面上的行为进行监测,获取用户触发的行为事件,将所述行为事件保存至预设缓存池。
在这里,本发明实施例利用前端监听器监听鼠标的点击和/或键盘的点击,以对用户在页面上的行为进行监测。每一次鼠标的点击或每一次键盘的点击,均认为是用户触发的一个行为事件,将所述行为事件保存至本地的预设缓存池中。可选地,所述预设缓存池可以为localStorage,通过所述localStorage来对用户的行为事件进行备份。在实际应用中,终端对用户在页面上的行为进行监测,获取用户的行为事件,将所述行为事件放入sessionStorage,并使用localStorage作为备份。其中,sessionStorage存储的数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁,localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。
可选地,作为本发明的一个优选示例,所述行为事件的内容包括但不限于事件信息、事件发生时间、事件开始或结束标识、用户唯一标识、用户名、页面的菜单属性中的至少一种。其中,事件信息是指用户当前触发的是鼠标点击事件还是键盘点击事件。页面的菜单属性是指用户当前所浏览的页面的菜单层级,包括但不限于一级菜单、二级菜单、三级菜单、四级菜单等。
在步骤S102中,按照预设的续传触发条件将所述预设缓存池中的行为事件发送至服务器。
在这里,由于预设缓存池的内存容量是有限的,比如预设缓存池中最多能存储10个行为事件。因此,用户在页面上浏览的过程中,从登录页面到退出页面,可能会触发多个用户事件,则需要分批将预设缓存池中的行为事件发送至服务器。鉴于此,本发明实施例预先设置了续传触发条件,包括按照预设的续传时间间隔将所述预设缓存池中的行为事件发送至服务器;和/或,当预设的续传时间间隔内预设缓存池中缓存的行为事件达到预设数目阈值时,将所述预设缓存池中的行为事件发送至服务器。可选地,作为本发明的一个优选示例,如图2所述,所述步骤S102按照预设的续传触发条件将所述预设缓存池中的行为事件发送至服务器还包括:
在步骤S1021中,在行为事件保存至所述预设缓存池后,判断所述预设缓存池中的行为事件的数目是否达到预设数目阈值。
在步骤S1022中,当所述预设缓存池中的行为事件的数目达到预设数目阈值时,将所述预设缓存池中的行为事件发送至服务器。
当用户的行为事件发生频繁时,比如在预设的续传时间间隔内频繁发生行为事件,超出所述预设缓存池的内存空间。此时,本发明实施例预先设置数目阈值,比如10,每当预设缓存池中的行为事件达到预设数目,则触发一个续传行为,将预设缓存池中的行为事件发送至服务器。示例性地,在2s内,预设缓存池中行为事件个数已经达到10,则将所述预设缓存池中的10个行为事件发送至服务器。
在步骤S1023中,当所述预设缓存池中的行为事件的数目未达到预设数目阈值时,判断是否到达续传时间节点。
在这里,本发明实施例按照预设的续传时间间隔来触发续传行为。从用户登录页面开始,每经过一个续传时间间隔,则生成一个续传时间节点。其中,所述续传时间间隔可以为5s。当所述预设缓存池中的行为事件的数目未达到预设数目阈值时,判断当前时刻是否为续传时间节点。
在步骤S1024中,若到达续传时间节点时,将所述预设缓存池中的行为事件发送至服务器。
若当前时刻为续传时间节点,则触发一次续传行为,即使预设缓存池还没填满,也将所述预设缓存池中的行为事件发送至服务器。
若未到达续传时间节点,即当前时刻不是续传时间节点,则不执行续传处理,继续对用户在页面上的行为进行监测。
在步骤S103中,当接收到所述服务器返回的上传成功消息时,保留所述预设缓存池中最后保存的行为事件,删除除所述最后保存的行为事件外的其余行为事件。
在本发明实施例中,服务器在成功接收到终端上传的行为事件后,会向终端返回上传成功的消息,以告知终端行为事件已上传,以实现在上传不成功或者断网的情况下重新发起上传,防止行为事件的丢失。
现有技术在接收到服务器返回的上传成功消息后即删除预设缓存池中的所有行为事件。与现有技术不同的是,本发明实施例会将预设缓存池中最后保存的行为事件进行保留,只对其余行为事件进行删除。在这里,所述其余行为事件是指预设缓存池中,除所述最后保存的行为事件外的其他行为事件。在这里,所保留的一个行为事件作为后续判断发生异常的标志。
在步骤S104中,在删除其余行为事件后若再获取到行为事件时,删除预设缓存池中保留的行为事件,将再获取到的行为事件保存至所述预设缓存池中。
在本发明实施例中,在删除其余行为事件后终端继续对用户在页面上的行为进行监测,获取用户事件。若在继续获取到下一行为事件时,则先将上述步骤S103所保留的行为事件删除以腾出空间,然后将获取到的下一行为事件保存至所述预设缓存池中。然后返回去执行步骤S101。
本发明实施例在预设缓存池中保留一个行为事件作为判断异常的标志。若用户行为监测过程中发生异常,且异常修复之后续传时间节点到达再次触发续传行为时,通过判断预设缓存池中存在行为事件,则可以确定所述异常为网络延迟。因为网络不稳定发生延迟时,页面不会被强制退出得,在网络连接上后终端会继续触发续传行为,实现了对网络延迟的异常情况得判别,有效地优化了对用户行为的监测效果。
可选地,上述实施例描述的是对行为事件的续传过程,续传之后保留一个行为事件。如图3所示,本发明实施例还对用户退出页面的行为进行监测,本发明实施例还包括:
在步骤S301中,当接受到退出指令时,将所述预设缓存池中的行为事件发送至服务器。
在本发明实施例中,若接收到用户的退出指令,表明用户结束本次登录页面,本发明实施例将预设缓存池中,比如前述的localStorage中,的行为事件,发送至服务器,即使预设缓存池中的行为事件个数还未达到预设数目阈值或者还未达到预设续传时间节点。
在步骤S302中,生成退出事件,将所述退出事件发送至服务器。
对于用户退出页面的的行为,本发明实施例生成对应的退出事件,以实现对用户行为的监测,并将生成的退出事件发送至服务器,以告知服务器用户结束本次页面。
在步骤S303中,当接收到服务器返回的上传成功消息时,删除所述预设缓存池中的行为事件。
在这里,与接收到行为事件不同,退出登录页面之后无需再对本次页面上的用户行为进行监测。因此在接收服务器返回的上传成功消息后,本发明实施例将预设缓存池中的所有行为事件删除,以为下一次登录时腾出空间存储行为事件。
本发明实施例在续传行为之后在预设缓存池中保留一个行为事件,在退出页面之后不保留任何行为事件,从而可以分辨出异常情况发生时,是发生在用户浏览页面的过程中还是用户退出页面之后。若异常情况发生时,预设缓存池中存在行为事件,则异常情况发生在用户浏览页面的过程中,预设缓存池中不存在行为事件,则异常情况发生在用户退出页面之后。
在步骤S304中,结束监测用户在浏览器上的行为。
在本实施例中,接收到退出事件后不再对用户行为进行监测以及缓存行为事件。
可选地,上述实施例描述的是对行为事件的续传过程,续传之后保留一个行为事件。如图4所示,本发明实施例还对用户登录页面的行为进行监测,本发明实施例还包括:
在步骤S401中,若接收到登录指令时,判断预设缓存池中是否存在行为事件。
在这里,当接收到用户的登录指令时,本发明实施例通过判断预设缓存池中是否存在行为事件,来确定本次登录的前一次登录是否发生异常。
如前所述,在每一次续传行为之后预设缓存池中保留最后存储的一个行为事件,在接收到退出指令时则删除预设缓存池中所有的行为事件。因此当本次登录的前一次登录未发生异常且正常退出时,预设缓存池中应当是没有行为事件的。而当本次登录的前一次登录发生异常,比如强制退出或者直接关断浏览器,未正常退出,则预设缓存池中会存储有异常发生前的行为事件。对于发生在续传行为发生后、下一行为事件保存之前的异常,也可分辨出来。
在步骤S402中,若所述预设缓存池中存在行为事件时,将所述行为事件发送至服务器,删除所述预设缓存池中的行为事件。
若所述预设缓存池中存在至少一个行为事件时,表明本次登录的前一次登录发生异常,则预设缓存池中保存的行为事件是前一次登录时产生的,触发一个续传行为,将所述预设缓存池中的行为事件上传至服务器,保证了异常发生后对行为事件的有效存储。然后再删除所述预设缓存池中的行为事件以为本次登录的行为事件腾出空间。
在步骤S403中,生成登录事件,将所述登录事件发送至服务器。
在完成上一次登录的续传之后,再生成本次页面的登录事件,并发送至服务器,以告知服务器启动新一轮的用户行为监测。
在本发明实施例中,用户每次登录页面和退出页面均会产生对应的登录事件和退出事件发生至服务器。而当发生断网或者强制退出页面等异常时,用户需要重新登录页面。本发明实施例在预设缓存池中保留一个行为事件作为判断异常的标志,若用户行为监测过程中发生异常且异常修复之后首先触发上传的是登录事件时,通过判断预设缓存池中是否存在行为事件,若预设缓存池中存在行为事件则可以确定所述异常发生在用户浏览页面的过程中,若预设缓存池中不存在行为事件则可以确定所述异常发生在用户退出页面之后,实现了对断网或者强制退出页面等异常情况得判别,有效地优化了对用户行为的监测效果。
本发明实施例通过上述步骤S401至步骤S403,实现了在异常关闭页面、断网或者强制退出页面等异常发生之后重新登录时,将异常情况发生前缓存的行为事件上传服务器,保证了监测得到的行为事件的连续性和完整性,且实现了对异常数据的有效保存,极大地优化了用户行为的监测效果。
可选地,作为本发明的一个优选示例,在步骤S402中将所述行为事件上传至服务器之前,所述方法还包括:
对所述预设缓存池中最后保存的一个行为事件添加异常标记。
在本发明实施例中,接收到登录事件时若预设缓存池中存储有行为事件,则默认上一个动作之后发生异常。本发明实施例通过添加异常标记来标注出发生异常的节点,后续通过追踪所述异常标记对应的行为事件,可获取到触发异常的条件,即用户是如何点击导致异常情况的。然后再将添加异常标记的行为事件发送至服务器,从而实现对异常数据及其触发条件的保存,有利于对系统进行更高效的维护。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种用户行为数据的上传装置,该用户行为数据的上传装置与上述实施例中用户行为数据的上传方法一一对应。如图5所示,该用户行为数据的上传装置包括获取模块51、续传模块52、第一删除模块53、保存模块54。各功能模块详细说明如下:
获取模块51,用于对用户在页面上的行为进行监测,获取用户触发的行为事件,将所述行为事件保存至预设缓存池;
续传模块52,用于按照预设的续传触发条件将所述预设缓存池中的行为事件发送至服务器;
第一删除模块53,用于当接收到所述服务器返回的上传成功消息时,保留所述预设缓存池中最后保存的行为事件,删除除所述最后保存的行为事件外的其余行为事件;
保存模块54,用于在删除其余行为事件后若再获取到行为事件时,删除预设缓存池中保留的行为事件,将再获取到的行为事件保存至所述预设缓存池中。
可选地,所述续传模块52包括:
第一判断单元,用于在行为事件保存至所述预设缓存池后,判断所述预设缓存池中的行为事件的数目是否达到预设数目阈值;
第一续传单元,用于当所述预设缓存池中的行为事件的数目达到预设数目阈值时,将所述预设缓存池中的行为事件发送至服务器;
第二判断单元,用于当所述预设缓存池中的行为事件的数目未达到预设数目阈值时,判断是否到达续传时间节点;
第二续传单元,用于若到达续传时间节点时,将所述预设缓存池中的行为事件发送至服务器。
可选地,所述装置还包括:
判断模块,用于若接收到登录指令时,判断预设缓存池中是否存在行为事件;
第二删除模块,用于若所述预设缓存池中存在行为事件时,将所述行为事件发送至服务器,删除所述预设缓存池中的行为事件;
第一生成模块,用于生成登录事件,将所述登录事件发送至服务器。
可选地,所述装置包括:
发送模块,用于当接受到退出指令时,将所述预设缓存池中的行为事件发送至服务器;
第二生成模块,用于生成退出事件,将所述退出事件发送至服务器;
第三删除模块,用于当接收到服务器返回的上传成功消息时,删除所述预设缓存池中的行为事件;
结束监测模块,用于结束监测用户在浏览器上的行为。
可选地,所述装置还包括:
标记模块,用于对所述预设缓存池中最后保存的一个行为事件添加异常标记。
可选地,所述行为事件的内容包括事件信息、事件发生时间、事件开始或结束标识、用户唯一标识、用户名、页面的菜单属性中的至少一种。
关于用户行为数据的上传装置的具体限定可以参见上文中对于用户行为数据的上传方法的限定,在此不再赘述。上述用户行为数据的上传装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种用户行为数据的上传方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
对用户在页面上的行为进行监测,获取用户触发的行为事件,将所述行为事件保存至预设缓存池;
按照预设的续传触发条件将所述预设缓存池中的行为事件发送至服务器;
当接收到所述服务器返回的上传成功消息时,保留所述预设缓存池中最后保存的行为事件,删除除所述最后保存的行为事件外的其余行为事件;
在删除其余行为事件后若再获取到行为事件时,删除预设缓存池中保留的行为事件,将再获取到的行为事件保存至所述预设缓存池中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
- 用户行为数据的上传方法、装置、设备及介质
- 用户行为数据的上传方法、用户行为的识别方法及装置