数据处理方法、装置、介质和计算设备与流程

专利2022-06-30  60


本发明的实施方式涉及网络技术领域,更具体地,本发明的实施方式涉及一种数据处理方法、装置、介质和计算设备。



背景技术:

本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

用户使用客户端上的浏览器应用程序(例如ie浏览器,谷歌浏览器)访问某一网站时,通常会打开这一网站的多个页面,例如web页面。为了对用户的行为进行监测,更加详细、清楚地了解用户的行为习惯,用户在web页面上执行交互操作,或触发特定事件(例如关闭web页面事件)而产生的各种信息数据,需要上报给服务器进行处理、分析,以实现对用户行为的分析。

相关技术也提供了一些向服务器上报数据的方案。例如,每个页面使用socket,ajax轮询等即时通讯方式,实现数据的实时上报。



技术实现要素:

然而,在实现本发明构思的过程中,发明人发现相关技术提供的数据上报方案存在以下不足:

在打开多个页面的情况下,每个页面都要维持上报连接以进行数据上报。即同时有多少个页面在进行用户行为分析,就需要建立多少个数据上报的连接,消耗大量连接,增加对客户端资源和服务器端资源的消耗,损耗服务器和浏览器的性能。

在本上下文中,本发明的实施方式期望提供一种数据处理方法及其装置、介质和计算设备。

在本发明实施方式的第一方面中,提供了一种数据处理方法,包括:创建共享工作线程,其中,上述共享工作线程用于接收多个页面的上报数据,响应于各个页面的数据上报请求,通过上述共享工作线程接收并存储上述各个页面的上报数据,以及通过上述共享工作线程将上述各个页面的上报数据上报至服务器。

在本发明的一个实施例中,上述多个页面具有关联关系。

在本发明的一个实施例中,上述创建共享工作线程包括:响应于页面的打开请求,检测是否已存在针对上述页面的共享工作线程,以及在不存在上述共享工作线程的情况下,创建上述共享工作线程。

在本发明的一个实施例中,上述方法还包括:通过上述共享工作线程记录与上述各个页面的上报数据对应的上报时间戳。

在本发明的一个实施例中,上述方法还包括:基于与上述各个页面的上报数据对应的上报时间戳,获取上述各个页面对应的最晚上报时间戳,以及基于上述最晚上报时间戳,确定上述各个页面中是否存在已被关闭的页面。

在本发明的一个实施例中,上述基于上述最晚上报时间戳,确定上述各个页面中是否存在已被关闭的页面包括:获取当前时间戳,基于上述当前时间戳和上述最晚上报时间戳,确定与上述各个页面对应的开启时长,检测与上述各个页面对应的开启时长中是否存在超过预设时长的页面,以及在与上述各个页面对应的开启时长中存在超过上述预设时长的页面的情况下,确定上述各个页面中存在上述已被关闭的页面。

在本发明的一个实施例中,上述上报数据包括页面标识数据和用户行为数据,上述通过上述共享工作线程接收并存储上述各个页面的上报数据包括:基于上述页面标识数据,生成页面列表,以及关联存储上述页面列表和上述各个页面的用户行为数据。

在本发明的一个实施例中,上述方法还包括:获取当前时间戳和与上述各个页面的上报数据对应的上报时间戳,基于上述上报时间戳和上述当前时间戳,确定上述页面列表中是否存在超时的页面,以及在存在上述超时页面的情况下,删除上述超时页面的用户行为数据。

在本发明的一个实施例中,上述通过上述共享工作线程将上述各个页面的上报数据上报至服务器包括:在确定上述各个页面中存在上述已被关闭的页面的情况下,将上述已被关闭的页面的页面标识数据上报至服务器。

在本发明的一个实施例中,上述通过上述共享工作线程将上述各个页面的上报数据上报至服务器包括:通过上述共享工作线程将上述各个页面的页面标识数据和用户行为数据上报至服务器。

在本发明实施方式的第二方面中,提供了一种数据处理装置,包括:创建模块,配置为创建共享工作线程,其中,上述共享工作线程用于接收多个页面的上报数据,处理模块,配置为响应于各个页面的数据上报请求,通过上述共享工作线程接收并存储上述各个页面的上报数据,以及上报模块,配置为通过上述共享工作线程将上述各个页面的上报数据上报至服务器。

在本发明的一个实施例中,上述多个页面具有关联关系。

在本发明的一个实施例中,上述创建模块包括:第一检测子模块,配置为响应于页面的打开请求,检测是否已存在针对上述页面的共享工作线程,以及创建子模块,配置为在不存在上述共享工作线程的情况下,创建上述共享工作线程。

在本发明的一个实施例中,上述装置还包括:记录模块,配置为通过上述共享工作线程记录与上述各个页面的上报数据对应的上报时间戳。

在本发明的一个实施例中,上述装置还包括:获取模块,配置为基于与上述各个页面的上报数据对应的上报时间戳,获取上述各个页面对应的最晚上报时间戳,以及确定模块,配置为基于上述最晚上报时间戳,确定上述各个页面中是否存在已被关闭的页面。

在本发明的一个实施例中,上述确定模块包括:第一获取子模块,配置为获取当前时间戳,第一确定子模块,配置为基于上述当前时间戳和上述最晚上报时间戳,确定与上述各个页面对应的开启时长,第二检测子模块,配置为检测与上述各个页面对应的开启时长中是否存在超过预设时长的页面,以及第二确定子模块,配置为在与上述各个页面对应的开启时长中存在超过上述预设时长的页面的情况下,确定上述各个页面中存在上述已被关闭的页面。

在本发明的一个实施例中,上述上报数据包括页面标识数据和用户行为数据,上述处理模块包括:生成子模块,配置为基于上述页面标识数据,生成页面列表,以及存储子模块,配置为关联存储上述页面列表和上述各个页面的用户行为数据。

在本发明的一个实施例中,上述装置还包括:第二获取子模块,配置为获取当前时间戳和与上述各个页面的上报数据对应的上报时间戳,第三确定子模块,配置为基于上述上报时间戳和上述当前时间戳,确定上述页面列表中是否存在超时的页面,以及删除子模块,配置为在存在上述超时页面的情况下,删除上述超时页面的用户行为数据。

在本发明的一个实施例中,上述上报模块,配置为在确定上述各个页面中存在上述已被关闭的页面的情况下,将上述已被关闭的页面的页面标识上报至服务器。

在本发明的一个实施例中,上述上报模块,配置为通过上述共享工作线程将上述各个页面的页面标识数据和用户行为数据上报至服务器。

在本发明实施方式的第三方面中,提供了一种介质,存储有计算机可执行指令,上述指令在被处理单元执行时用于实现上述任一项上述的方法。

在本发明实施方式的第四方面中,提供了一种计算设备,包括:处理单元;以及存储单元,存储有计算机可执行指令,上述指令在被处理单元执行时用于实现上述任一项上述的方法。

附图说明

通过参考附图阅读下文的详细描述,本发明示例性实施例的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

图1示意性地示出了根据本发明实施例数据处理方法和装置的应用场景示意图;

图2示意性地示出了根据本发明实施例的数据处理方法的流程图;

图3示意性地示出了根据本发明另一实施例的数据处理方法的流程图;

图4示意性地示出了根据本发明另一实施例的数据处理方法的流程图;

图5示意性地示出了根据本发明另一实施例的数据处理方法的流程图:

图6示意性地示出了根据本发明实施例的数据处理装置的框图;

图7示意性地示出了根据本发明另一实施例的数据处理装置的框图;

图8示意性地示出了根据本发明实施例的用于实现数据处理方法的计算机可读存储介质产品的示意图;以及

图9示意性地示出了根据本发明实施例的用于实现数据处理方法的计算设备的框图。

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考若干示例性实施例来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本发明的实施方式,提出了一种数据处理方法及装置、介质和计算设备。

在本文中,需要理解的是,本发明所涉及的术语包括如下。

sharedworker:是html5标准规范的api接口,代表一种特定类型的工作者。

用户行为数据:用户在web页面上的交互动作、事件等信息数据,包括停留时间、跳出率、访问次数、页面点击、滑动、滚动等原始数据。

数据上报:将各个web页面中收集到的用户行为动作、事件等用户行为数据上报到用户行为分析服务器进行分析。

用户行为分析服务:用于接收、处理、分析上报的各个web页面上的用户行为数据。

日志服务器:运行用户行为分析服务的服务器端,主要用于接收、处理、分析用户行为数据。

此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。

发明概述

本发明的实施方式提供了一种数据处理方法,包括:首先,创建共享工作线程,共享工作线程用于接收多个页面的上报数据。然后,响应于各个页面的数据上报请求,通过共享工作线程接收并存储各个页面的上报数据。最后,通过共享工作线程将各个页面的上报数据上报至服务器。

在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。

应用场景总览

首先参考图1详细阐述本发明实施例的数据处理方法及装置的应用场景。

图1示意性地示出了根据本发明实施例的应用场景示意图。需要注意的是,图1仅为可以应用本发明实施例的应用场景的示例,以帮助本领域技术人员理解本发明的技术内容,但并不意味着本发明实施方式不可以用于其他设备、系统、环境或场景。

如图1所示,根据该实施例的应用场景100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

示例性方法

下面结合图1的应用场景,参考图2来描述根据本发明示例性实施例的数据处理方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本发明实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本发明。在此使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。在使用类似于“a、b或c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“a、b或c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。

图2示意性地示出了根据本发明实施例的数据处理方法的流程图。

如图2所示,该数据处理方法可以包括操作s210~操作s230。

在操作s210,创建共享工作线程。

根据本发明的实施例,共享工作线程用于接收与共享工作线程建立连接的多个页面中每个页面的上报数据。在创建共享工作线程之后,可以将多个页面与该共享工作线程建立连接,使得该共享工作线程可以接收与其建立连接的所有页面的上报数据,并向服务器上报数据。具体实施时,一个共享工作线程允许多个页面共享使用,每个页面都链接到该共享工作线程的某一个端口号上,通过该端口与这一个共享工作线程进行通信。

作为一种可选的实施例,与共享工作线程建立连接的多个页面可以具有关联关系,关联关系用于表征多个页面属于同一网站,属于同一网站包括但不限于多个页面所属的网站标识相同,网站标识可以是网站的一级域名(domainname)。一级域名又叫顶级域名,例如baidu.com、bing.com等。

作为一种可选的实施例,与共享工作线程建立连接的多个页面可以不具有关联关系,即多个页面属于不同的网站。

用户可通过浏览器打开一个或多个浏览器窗口,且每个浏览器窗口内可包含一个或多个页面。因此,属于同一网站或不属于同一网站的多个页面可能分布在同一浏览器的窗口中,也可以分布在不同的浏览器窗口中,本发明对此不做限定。而属于同一网站或不属于同一网站的多个页面的打开也是有先后顺序的。无论是在同一浏览器窗口中还是在不同的浏览器窗口中,当第一个页面被打开时,共享工作线程被创建。

具体实施时,当多个具有关联关系的多个页面中的第一个页面被打开时,可以为这多个页面所属的同一网站建立一个对应的共享工作线程,并将用户打开的属于该网站的所有页面与该网站对应的共享工作线程建立连接,使得该共享工作线程可以接收与其建立连接的所有页面的上报数据,并向服务器上报数据。当多个不具有关联关系的多个页面中的第一个页面被打开时,可以在当前打开页面的浏览器中创建共享工作线程。在共享工作线程创建之后,建立多个页面与该共享工作线程之间的连接。

作为一种可选的实施例,当多个具有关联关系的多个页面中的第一个页面被打开时,也可以在浏览器中创建共享工作线程。具体实施时,响应于打开当前页面的操作,获取当前页面所属的网站标识,检测是否存在与当前页面的所属网站标识对应的共享工作线程。若不存在,则在当前页面所在的浏览器内为当前页面的所属网站标识创建一个对应的共享工作线程,并为当前页面和共享工作线程建立连接。若已存在,则为当前页面和共享工作线程建立连接。

根据本发明的实施例,共享工作线程具有网络请求、管理页面列表、存储多页面实时数据、请求时间戳管理等功能。

需要说明的是,一旦创建共享工作线程,只有当所有与该共享工作线程建立连接的多个页面都关闭的时候,该共享工作线程才会结束工作。

在操作s220,响应于各个页面的数据上报请求,通过共享工作线程接收并存储各个页面的上报数据。

根据本发明的实施例,用户在页面上执行交互操作、触发事件的情况下,将产生大量的信息数据,这些信息数据可以通过共享工作线程的端口上报给共享工作线程,共享工作线程在接收到上报数据之后,可以将其存储。

在操作s230,通过共享工作线程将各个页面的上报数据上报至服务器。

根据本发明的实施例,可以基于上报策略通过共享工作线程将各个页面的上报数据上报至服务器。

作为一种可选的实施例,上报策略可以是实时上报策略。基于实时上报策略,共享工作线程可以将各个页面的上报数据实时上报至服务器,即只要有来自页面的上报数据,就将上报数据上报至服务器。例如,多个页面具有关联关系的情况下,可以在接收到任一页面的上报数据之后,立即上报至服务器。

基于实时上报策略,可以将上报数据及时地上报至服务器,使得上报数据的时效性高。

作为一种可选的实施例,上报策略可以是定期上报策略。基于定期上报策略,共享工作线程可以将各个页面的上报数据定期上报至服务器,即在满足预设时间条件的情况下,可以将上报数据批量上报至服务器。具体地,可以预先设置一个时间间隔,满足该时间间隔的情况下,可以将上报数据批量上报至服务器。例如,时间间隔可以是30分钟,则共享工作线程每间隔30分钟就将接收到的上报数据向服务器上报一次。需要说明的是,该时间间隔可以自行设定。例如,时间间隔也可以根据用户对多个页面的操作情况设定,若操作频繁,则时间间隔可以设置短,若操作少,则时间间隔可以设置长。

作为一种可选的实施例,上报策略可以是定量上报策略。基于定量上报策略,共享工作线程可以将各个页面的上报数据定量上报至服务器,即上报数据的数据量满足预设数据量的情况下,可以将上报数据集中批量上报至服务器。

基于定时或定量上报策略,可以将上报数据批量地、集中地上报至服务器,减少数据上报的次数,提高数据上报的效率。

通过本发明的实施例,利用共享工作线程,可以接收多个页面的上报数据,并上报至服务器,可以避免每个页面各自建立并维持与服务器之间的上报连接,导致客户端、服务器端的资源浪费和通讯效率低的技术问题,节省客户端、服务器端的资源,提高服务器性能。

作为一种可选的实施例,创建共享工作线程包括:响应于页面的打开请求,检测是否已存在针对页面的共享工作线程;以及在不存在共享工作线程的情况下,创建共享工作线程。

如前所述,多个页面共同使用一个共享工作线程,因此,在每个页面打开的时候,需要判断是否已经建立了共享工作线程,如果没有建立,则这个页面创建共享工作线程。如有已经存在共享工作线程的情况下,则通过已经存在的共享工作线程接收并存储各个页面的上报数据。

通过检测是否存在共享工作线程,在不存在的情况下才创建共享工作线程,可以避免重复建立共享工作线程,使得与共享工作线程建立连接的多个页面共用一个共享工作线程,减少上报连接的数量,降低客户端和服务器的资源消耗。

图3示意性地示出了根据本发明另一实施例的数据处理方法的流程图。

作为一种可选的实施例,如图3所示,该数据处理方法除了可以包括前述操作s210~操作s230之外,还可以包括操作s310:通过共享工作线程记录与各个页面的上报数据对应的上报时间戳。

根据本发明的实施例,响应于页面的打开请求,接收页面上报的页面标识(identity,id)数据,并基于页面id管理页面列表。

通过记录各个页面的上报数据对应的上报时间戳,可以实现与本共享工作线程通信的多个页面的有序管理。

页面关闭事件是浏览器页签、窗口在即将离开当前页面(刷新或关闭)时触发的,是非常基础和有用的事件,也是比较重要的用户行为,页面关闭事件的捕获常利用在用户行为分析、用户体验、业务功能等方面。

在相关技术中,针对页面关闭事件的监听可以利用窗口的onbeforeunload事件,但各个浏览器对onbeforeunload事件的支持与触发条件实现存在差异,导致部分关闭行为不触发或重复触发,兼容性不佳。例如,火狐浏览器会忽略该事件并自动关闭页面无需用户的确认。

针对页面关闭事件的监听也可以利用父子页面方式,即用户在父页面浏览时通过window.open方式打开一个子页面窗口,并获得子窗口对象,于是父页面就可以监听子页面的onclose事件,当页面被关闭时,onclose事件被触发,通知父页面。但是window.open()打开子页面的方式常被视为广告窗口或恶意行为,存在被浏览器插件或屏蔽广告插件所屏蔽,使得子页面无法被打开的风险。

根据本发明的实施例,可以通过创建的共享工作线程监视多个页面的关闭事件。

作为一种可选的实施例,如图3所示,该数据处理方法除了可以包括前述操作s210~操作s230、操作s310之外,还可以包括操作s320和操作s330。

在操作s320,基于与各个页面的上报数据对应的上报时间戳,获取各个页面对应的最晚上报时间戳。

在操作s330,基于最晚上报时间戳,确定各个页面中是否存在已被关闭的页面。

根据本发明的实施例,利用创建的共享工作线程,接收各个页面循环上报的页面id,基于循环上报的页面id生成最后上报时间戳,并将页面id和最后上报时间戳,添加到页面列表。基于最后上报时间戳可以判断多个页面中是否存在已被关闭的页面,且根据页面id可以确定是多个页面中的哪个页面已被关闭,然后进一步对已关闭页面执行后续向服务器端上报或其他业务。

作为一种可选的实施例,基于最晚上报时间戳,确定各个页面中是否存在已被关闭的页面包括:获取当前时间戳;基于当前时间戳和最晚上报时间戳,确定与各个页面对应的开启时长;检测与各个页面对应的开启时长中是否存在超过预设时长的页面;以及在与各个页面对应的开启时长中存在超过预设时长的页面的情况下,确定各个页面中存在已被关闭的页面。

作为一种可选的实施例,通过共享工作线程将各个页面的上报数据上报至服务器包括:在确定各个页面中存在已被关闭的页面的情况下,将已被关闭的页面的页面标识数据上报至服务器。

根据本发明的实施例,可以对比判断各个页面最后上报时间戳的超时情况,从而判断出该页面是否被关闭。具体地,共享工作线程可以循环检查页面列表,并对比判断页面列表数据中的各个页面的最后上报时间戳和当前时间戳。根据最后上报时间戳和当前时间戳之间的时间差,可以判断页面是否被关闭。

例如,如果某页面id的最后上报时间戳超时一定时间(例如100ms),则该页面被判断为关闭。如果没有超时,即小于一定时间(例如100ms),则该页面被判断为正常未关闭。

通过本发明的实施例,利用共享工作线程可以监视和分析页面关闭事件,及时捕获关闭页面的行为动作,并执行数据上报或其他所需业务处理。

图4示意性地示出了根据本发明另一实施例的数据处理方法的流程图。如图4所示,通过共享工作线程,可以监听在浏览器端(b)的多个页面上的页面关闭事件,并将与页面关闭事件相关的数据上报至服务器端(s)的处理服务器。在具体实施时,可以包括操作s410~操作s460。

在操作s410,在浏览器中打开新页面。

在操作s420,判断是否存在共享工作线程。若不存在,则执行操作s430,建立共享工作线程。若存在,则执行操作s440,登记页面列表。具体实施时,所有处于打开状态的每个页面(例如,页面1、页面2、页面3、……、页面n,n为大于1的整数)都可以通过共享工作线程,实时循环上报自己的页面id,共享工作线程接收每个页面所上报的页面id,生成最后上报时间戳,并将页面id和最后上报时间戳添加至页面列表(页面列表如图4中所示)。

在操作s450,根据执行操作s440所生成的页面列表,共享工作线程循环检查页面列表,并通过对比页面列表中每个页面的最后上报时间戳和当前时间戳,检测多个页面中是否有页面关闭,即执行关闭事件监听业务。若有,则执行操作s460,将数据上报至服务器端(s)。例如,若检测到页面3被关闭,则将页面3的页面标识数据上报给处理服务器。若无,则返回执行操作s440,登记页面列表。例如,未检测到页面1,页面2和页面n关闭,则执行操作s440,登记页面列表,等下一次时间到达时,再执行操作450。

以下将以在ie浏览器中依次打开网站标识为所属网站的一级域名为baidu.com的页面1、页面2、页面3和页面4为例,详细阐述本发明提供的数据处理方法中建立共享工作线程和页面关闭数据上报的具体实施方式。

具体实施时,响应于在ie浏览器中打开页面1,首先检测是否存在与该网站标识对应的共享工作线程a。若存在,则将页面1与共享工作线程a建立连接。若不存在,则先创建共享工作线程a,再将页面1与共享工作线程a建立连接,通过共享工作线程a页面1可以以一定的时间间隔循环上报一次自己的页面id,而共享工作线程a可以根据页面1每次上报对应的上报时间戳生成页面1的最后上报时间戳t1并记录。接下来,响应于在浏览器中打开页面2,首先检测是否存在与该网站标识对应的共享工作线程a。由于在打开页面1时,已经建立共享工作线程a。因此,只需将新打开的页面2与共享工作线程a建立连接即可,通过共享工作线程a页面2可以以一定的时间间隔循环上报一次自己的页面id,而共享工作线程a可以根据页面2每次上报对应的上报时间戳生成页面2的最后上报时间戳t2并记录。同样地,响应于在浏览器中打开页面3和页面4,由于已经存在共享工作线程a。因此,只需将新打开的页面3和页面4分别与共享工作线程a建立连接即可,通过共享工作线程a页面3和页面4可以以一定的时间间隔循环上报一次自己的页面id,而共享工作线程a可以根据页面3和页面4每次上报对应的上报时间戳生成页面3的最后上报时间戳t3、页面4的最后上报时间戳t4并记录。共享工作线程a还可以通过检测与各页面对应的最后上报时间戳与当前时间戳之间的时间间隔是否超过预设时间阈值,来确定页面是否被关闭。具体实施时,若时间间隔超过预设时间阈值,则可以确定页面被关闭。若时间间隔未超过预设时间阈值,则确定页面正常未关闭。

例如,若预设时间阈值为100毫秒,页面1的最后上报时间戳t1与当前时间戳之间的时间间隔为80毫秒,页面2的最后上报时间戳t2与当前时间戳之间的时间间隔为50毫秒,页面3的最后上报时间戳t3与当前时间戳之间的时间间隔为120毫秒,页面4的最后上报时间戳t4与当前时间戳之间的时间间隔为60毫秒。则由于页面3的最后上报时间戳t3与当前时间戳之间的时间间隔(120毫秒)超过预设时间阈值(100毫秒),则可以确定页面3被关闭,将页面3的页面id上报至服务器。而页面1的最后上报时间戳t1与当前时间戳之间的时间间隔(80毫秒)、页面2的最后上报时间戳t2与当前时间戳之间的时间间隔(50毫秒)、页面4的最后上报时间戳t4与当前时间戳之间的时间间隔(60毫秒),均未超过预设时间阈值(100毫秒),则可以确定页面1、页面2和页面4均未被关闭。

作为一种可选的实施例,上报数据包括页面标识数据和用户行为数据,前述操作s220(通过共享工作线程接收并存储各个页面的上报数据)包括:基于页面标识数据,生成页面列表以及关联存储页面列表和各个页面的用户行为数据。

根据本发明的实施例,页面标识作为页面的唯一标识,用于与其他页面相区别。共享工作线程通过维护页面列表,可以准确识别各个页面对应的用户行为数据,以便根据该页面的展示内容和用户行为数据,对用户行为进行分析和处理,以确定用户的行为习惯。

作为一种可选的实施例,方法还包括:获取当前时间戳和与各个页面的上报数据对应的上报时间戳;基于上报时间戳和当前时间戳,确定页面列表中是否存在超时的页面;以及在存在超时页面的情况下,删除超时页面的用户行为数据。

需要说明的是,用于判断是否超时的上报时间戳和当前时间戳之间的时间间隔可以比用于判断是否关闭的上报时间戳和当前时间戳之间的时间间隔要短。

根据本发明的实施例,针对超时页面对应的用户行为数据,共享工作线程将做删除处理,以释放对共享工作线程的占用,节省资源。

作为一种可选的实施例,通过共享工作线程将各个页面的上报数据上报至服务器包括:通过共享工作线程将各个页面的页面标识数据和用户行为数据上报至服务器。根据本发明的实施例,用户行为分析包括但不限于以下分析内容:用户的来源地区、来路域名和页面;用户在网站的停留时间、回访者、新访问者、回访次数、回访相隔天数;注册用户和非注册用户,分析两者之间的浏览习惯;用户所使用的搜索引擎、关键词、关联关键词和站内关键字;用户选择什么样的入口形式(广告或者网站入口链接);用户访问网站流程,用来分析页面结构设计是否合理;用户在页面上的网页热点图分布数据和网页覆盖图数据;用户在不同时段的访问量情况;用户对于网站的字体颜色的喜好程度等等。

图5示意性地示出了根据本发明另一实施例的数据处理方法的流程图。如图5所示,通过共享工作线程,除了可以监听在浏览器端(b)的多个页面上的页面关闭事件,并将与页面关闭事件相关的数据上报至服务器端(s)的处理服务器之外,还可以在采集多个页面的用户行为的情况下,将用户行为数据上报至服务器端(s)的日志服务器,以使得日志服务器在接收到用户行为数据之后,通过对用户行为数据的处理和分析,从中发现用户访问网站等平台的规律。在具体实施时,除了可以包括前述操作s410~操作s440(此处不再赘述)之外,还可以包括操作s510~操作s530。

在操作s510,采集用户行为数据。每个页面采集自己页面上的用户行为动作、事件等用户行为分析数据。用户行为数据包括但不限于用户在页面上的停留时间、访问次数、页面点击次数、滑动次数和滚动次数中的一个或多个。多个页面在采集到用户行为数据之后,将需要通过共享工作线程上报至服务器的上报数据委托给共享工作线程。

在操作s520,共享工作线程向服务器端(s)发送上报数据请求。

在操作s530,将每个页面委托上报的用户行为数据上报至服务器,以使得服务器系统能够基于该上报的用户行为数据对用户行为进行分析。

继续沿用上述在ie浏览器中依次打开网站标识为所属网站的一级域名为baidu.com的页面1、页面2、页面3和页面4,且已建立与网站标识对应的共享工作线程a的实施例,详细阐述本发明提供的数据处理方法中针对用户行为数据上报的具体实施方式。

具体实施时,当页面1上发生用户行为时,采集用户在页面1上的停留时间和访问次数作为页面1的委托上报数据;当页面2上发生用户行为时,采集用户在页面2上的点击次数、滑动次数作为页面2的委托上报数据;当页面3上发生用户行为时,采集用户在页面3上的滑动次数和滚动次数作为页面3的委托上报数据;当页面4上发生用户行为时,采集用户在页面4上的停留时间、访问次数、页面点击次数、滑动次数和滚动次数作为页面4的委托上报数据。由于共享工作线程a中关联存储有页面列表和各个页面的用户行为数据,因此共享工作线程a,通过发送上报数据请求可以将各页面对应的委托数据即用户行为数据上报给日志服务器。

在本发明的实施例中,页面1、页面2、页面3和页面4不再需要建立与日志服务器之间的连接,而是通过与一个共享工作线程建立连接,就可以将所有委托上报数据委托给共享工作线程存储并上报至服务器,达到提高页面通讯效率,减少请求数、减少连接数、降低客户端及服务器端资源消耗的技术效果。

需要说明的是,本发明对与共享工作线程建立连接的多个页面的委托上报数据的具体内容不做限定,各页面可以根据实际情况,确定需要上报的数据。

通过将页面标识数据和用户行为数据上报至服务器,使服务器基于接收到的页面标识数据和用户行为数据,进行用户行为分析和处理,可以让企业更加详细、清楚地了解用户的行为习惯,从而找出网站、推广渠道等企业营销环境存在的问题,有助于企业发掘出高转化率的页面,让企业的营销更加精准、有效,提高业务转化率,从而提升企业的广告收益。

示例性装置

在介绍了本发明示例性实施例的示例性方式之后,接下来,对本发明示例性实施例的用于实现上述数据处理方法的数据处理装置进行详细阐述。

图6示意性地示出了根据本发明实施例的数据处理装置的框图。

如图6所示,该数据处理装置600可以包括创建模块610、处理模块620以及上报模块630。

创建模块610,配置为例如执行前述操作s210,创建共享工作线程,其中,共享工作线程用于接收多个页面的上报数据。

处理模块620,配置为例如执行前述操作s220,响应于各个页面的数据上报请求,通过共享工作线程接收并存储各个页面的上报数据。

上报模块630,配置为例如执行前述操作s230,通过共享工作线程将各个页面的上报数据上报至服务器。

通过本发明的实施例,利用共享工作线程,可以接收多个页面的上报数据,并上报至服务器,可以避免每个页面各自建立并维持与服务器之间的上报连接,导致客户端、服务器端的资源浪费和通讯效率低的技术问题,节省客户端、服务器端的资源,提高服务器性能。

在本发明的一个实施例中,多个页面具有关联关系。

在本发明的一个实施例中,创建模块610包括:第一检测子模块,配置为响应于页面的打开请求,检测是否已存在针对页面的共享工作线程;以及创建子模块,配置为在不存在共享工作线程的情况下,创建共享工作线程。

通过检测是否存在共享工作线程,在不存在的情况下才创建共享工作线程,可以避免重复建立共享工作线程,使得具有关联关系的多个页面共用一个共享工作线程,减少上报连接的数量,降低客户端和服务器的资源消耗。

图7示意性地示出了根据本发明另一实施例的数据处理装置的框图。

如图7所示,上报数据包括页面标识数据,该数据处理装置700除了可以包括前述创建模块610、处理模块620以及上报模块630之外,还可以包括记录模块710,配置为通过上述共享工作线程记录与各个页面的上报数据对应的上报时间戳。

通过记录于各个页面的上报数据对应的上报时间戳,可以实现与本共享工作线程通信的多个页面的有序管理。

如图7所示,该数据处理装置700除了可以包括前述创建模块610、处理模块620、上报模块630以及记录模块710之外,还可以包括获取模块720和确定模块730。

获取模块720,配置为基于与各个页面的上报数据对应的上报时间戳,获取各个页面对应的最晚上报时间戳。

确定模块730,配置为基于最晚上报时间戳,确定各个页面中是否存在已被关闭的页面。

在本发明的一个实施例中,确定模块730包括:第一获取子模块,配置为获取当前时间戳;第一确定子模块,配置为基于当前时间戳和最晚上报时间戳,确定与各个页面对应的开启时长;第二检测子模块,配置为检测与各个页面对应的开启时长中是否存在超过预设时长的页面;以及第二确定子模块,配置为在与各个页面对应的开启时长中存在超过预设时长的页面的情况下,确定各个页面中存在已被关闭的页面。

通过本发明的实施例,利用共享工作线程可以监视和分析页面关闭事件,及时捕获关闭页面的行为动作,并执行数据上报或其他所需业务处理。

在本发明的一个实施例中,上报数据包括页面标识数据和用户行为数据,处理模块620包括:生成子模块,配置为基于页面标识数据,生成页面列表;以及存储子模块,配置为关联存储页面列表和各个页面的用户行为数据。

在本发明的一个实施例中,处理模块620还包括:第二获取子模块,配置为获取当前时间戳和与各个页面的上报数据对应的上报时间戳;第三确定子模块,配置为基于上报时间戳和当前时间戳,确定页面列表中是否存在超时的页面;以及删除子模块,配置为在存在超时页面的情况下,删除超时页面的用户行为数据。

在本发明的一个实施例中,上报模块630,配置为在确定各个页面中存在已被关闭的页面的情况下,将已被关闭的页面的页面标识上报至服务器。

在本发明的一个实施例中,上报模块630,配置为通过共享工作线程将各个页面的页面标识数据和用户行为数据上报至服务器。

通过将页面标识数据和用户行为数据上报至服务器,使服务器基于接收到的页面标识数据和用户行为数据,进行用户行为分析和处理,可以让企业更加详细、清楚地了解用户的行为习惯,从而找出网站、推广渠道等企业营销环境存在的问题,有助于企业发掘出高转化率的页面,让企业的营销更加精准、有效,提高业务转化率,从而提升企业的广告收益。

根据本发明的示例性实施例,模块、子模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本发明示例性实施例的模块、子模块中的任意一个或多个可以被拆分成多个模块来实现。根据本发明示例性实施例的模块、子模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本发明示例性实施例的模块、子模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,创建模块610、处理模块620、上报模块630、记录模块710、获取模块720、确定模块730、第一获取子模块、第一确定子模块、第二检测子模块、第二确定子模块、生成子模块、存储子模块、第二获取子模块、第三确定子模块、删除子模块中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的示例性实施例,创建模块610、处理模块620、上报模块630、记录模块710、获取模块720、确定模块730、第一获取子模块、第一确定子模块、第二检测子模块、第二确定子模块、生成子模块、存储子模块、第二获取子模块、第三确定子模块、删除子模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,创建模块610、处理模块620、上报模块630、记录模块710、获取模块720、确定模块730、第一获取子模块、第一确定子模块、第二检测子模块、第二确定子模块、生成子模块、存储子模块、第二获取子模块、第三确定子模块、删除子模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块程序被计算机运行时,可以执行相应模块的功能。

需要说明的是,本发明实施例中的数据处理装置部分与本发明实施例中的数据处理方法部分是相对应的,数据处理装置部分的描述具体可参考数据处理方法部分,在此不再赘述。

示例性介质

在介绍了本发明示例性实施例的示例性装置之后,接下来,参考图8对本发明示例性实施例的、用于存储有计算机可执行指令,该指令在被处理单元执行时用于实现图2至图5中的数据处理方法的介质进行描述。

在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在设备上运行时,程序代码用于使设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的数据处理方法中的操作(或步骤),例如,设备可以执行如图2中所示的操作s210,创建共享工作线程。操作s220,响应于各个页面的数据上报请求,通过共享工作线程接收并存储各个页面的上报数据。操作s230,通过共享工作线程将各个页面的上报数据上报至服务器。

程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

如图8所示,描述了根据本发明的实施方式的数据处理的程序产品80,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于一—电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、系统或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆,rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言一诸如java,c 等,还包括常规的过程式程序设计语言一诸如“c”,语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(lan)或广域网(wan)一连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

示例性计算设备

在介绍了本发明示例性实施例的方法、介质和装置之后,接下来,参考图9对本发明示例性实施例的计算设备进行描述,该计算设备包括处理单元和存储单元,存储单元存储有计算机可执行指令,上述指令在被上述处理单元执行时用于实现图2至图5中的数据处理方法进行描述。

本发明的实施例还提供了一种计算设备。所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

在一些可能的实施方式中,根据本发明的计算设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,存储单元存储有程序代码,当程序代码被处理单元执行时,使得处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的数据处理方法中的步骤。例如,处理单元可以执行如图2中所示的操作s210,创建共享工作线程。操作s220,响应于各个页面的数据上报请求,通过共享工作线程接收并存储各个页面的上报数据。操作s230,通过共享工作线程将各个页面的上报数据上报至服务器。

下面参照图9来描述根据本发明的这种实施方式的用于数据处理的计算设备90。如图9所示的计算设备90仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图9所示,计算设备90以通用计算设备的形式表现。计算设备90的组件可以包括但不限于:上述至少一个处理单元901、上述至少一个存储单元902、连接不同系统组件(包括存储单元902和处理单元901)的总线903。

总线903包括地址总线、数据总线和控制总线。

存储单元902可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)9021和/或高速缓存存储器9022,还可以进一步包括只读存储器(rom)9023。

存储单元902还可以包括具有一组(至少一个)程序模块9024的程序/实用工具9025,这样的程序模块9024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

计算设备90也可以与一个或多个外部设备904(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(i/0)接口905进行。并且,计算设备90还可以通过网络适配器906与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器906通过总线903与计算设备90的其它模块通信。应当明白,尽管图中未示出,可以结合计算设备90使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

应当注意,尽管在上文详细描述中提及了装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。

此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所发明的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。


技术特征:

1.一种数据处理方法,包括:

创建共享工作线程,其中,所述共享工作线程用于接收多个页面的上报数据;

响应于各个页面的数据上报请求,通过所述共享工作线程接收并存储所述各个页面的上报数据;以及

通过所述共享工作线程将所述各个页面的上报数据上报至服务器。

2.根据权利要求1所述的方法,其中:

所述多个页面具有关联关系。

3.根据权利要求1所述的方法,其中,所述创建共享工作线程包括:

响应于页面的打开请求,检测是否已存在针对所述页面的共享工作线程:以及

在不存在所述共享工作线程的情况下,创建所述共享工作线程。

4.根据权利要求1所述的方法,其中,所述方法还包括:

通过所述共享工作线程记录与所述各个页面的上报数据对应的上报时间戳。

5.根据权利要求4所述的方法,其中,所述方法还包括:

基于与所述各个页面的上报数据对应的上报时间戳,获取所述各个页面对应的最晚上报时间戳;以及

基于所述最晚上报时间戳,确定所述各个页面中是否存在已被关闭的页面。

6.根据权利要求5所述的方法,其中,所述基于所述最晚上报时间戳,确定所述各个页面中是否存在已被关闭的页面包括:

获取当前时间戳;

基于所述当前时间戳和所述最晚上报时间戳,确定与所述各个页面对应的开启时长;

检测与所述各个页面对应的开启时长中是否存在超过预设时长的页面;以及

在与所述各个页面对应的开启时长中存在超过所述预设时长的页面的情况下,确定所述各个页面中存在所述已被关闭的页面。

7.根据权利要求1所述的方法,其中,所述上报数据包括页面标识数据和用户行为数据,所述通过所述共享工作线程接收并存储所述各个页面的上报数据包括:

基于所述页面标识数据,生成页面列表;以及

关联存储所述页面列表和所述各个页面的用户行为数据。

8.一种数据处理装置,包括:

创建模块,配置为创建共享工作线程,其中,所述共享工作线程用于接收多个页面的上报数据;

处理模块,配置为响应于各个页面的数据上报请求,通过所述共享工作线程接收并存储所述各个页面的上报数据;以及

上报模块,配置为通过所述共享工作线程将所述各个页面的上报数据上报至服务器。

9.一种介质,存储有计算机可执行指令,所述指令在被处理单元执行时用于实现权利要求1至7中任一项所述的方法。

10.一种计算设备,包括:

处理单元;以及

存储单元,存储有计算机可执行指令,所述指令在被处理单元执行时用于实现权利要求1至7中任一项所述的方法。

技术总结
本发明的实施方式提供了一种数据处理方法,包括:创建共享工作线程,其中,共享工作线程用于接收多个页面的上报数据,响应于各个页面的数据上报请求,通过共享工作线程接收并存储各个页面的上报数据;以及通过共享工作线程将各个页面的上报数据上报至服务器。通过共享工作线程,可以接收多个的页面的上报数据,并上报至服务器,可以避免每个页面各自建立并维持与服务器之间的上报连接,导致客户端、服务器端的资源浪费和通讯效率低的技术问题,实现节省客户端、服务器端的资源,提高服务器性能的技术效果。此外,本发明的实施方式还提供了一种数据处理装置、介质和计算设备。

技术研发人员:宋俊刚;李木;张俊峰;张家铭;李彦鸿;王慧;彭志龙;王飞龙;桂聪;贾玉龙;肖惠琴;孙磊;吕明;李伟;吴超;孙英远;曾祥林;焦文斌;缑艳青
受保护的技术使用者:网易传媒科技(北京)有限公司
技术研发日:2020.01.19
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-59502.html

最新回复(0)