用户行为数据的处理方法、装置、设备及存储介质与流程

文档序号:22255447发布日期:2020-09-18 13:35阅读:183来源:国知局
用户行为数据的处理方法、装置、设备及存储介质与流程

本发明涉及数据处理领域,具体涉及一种用户行为数据的处理方法、装置、设备及存储介质。



背景技术:

目前,随着客户端上各种应用程序的普及,应用程序的用户注册量也逐渐增大,一款优秀的应用程序的用户注册量甚至可以达到上亿级别。针对同一款应用程序,每一位用户的使用习惯并不相同,由用户行为埋点日志构成的数据极为庞大,而如何从大量数据中寻找出高价值的信息将是我们需要解决的问题。



技术实现要素:

本发明实施例提供一种用户行为数据的处理方法、装置、设备及存储介质,通过构建用户行为轨迹树,达到用户行为数据分析及查询的目的。

一种用户行为数据的处理方法,包括:

获取开始页面的埋点标识的所有有效页面埋点,并根据所述埋点标识和停留时长生成行为信息;

获取每一个用户的所有所述行为信息,并根据每一个所述用户的所有所述行为信息生成对应的用户行为日志;

根据所述开始页面的所述埋点标识和每一个所述用户的所述用户行为日志构建用户行为轨迹树。

一种用户行为数据的处理装置,包括:

第一获取模块,用于获取开始页面的埋点标识的所有有效页面埋点,并根据所述埋点标识和停留时长生成行为信息;

第二获取模块,用于获取每一个用户的所有所述行为信息,并根据每一个所述用户的所有所述行为信息生成对应的用户行为日志;

建树模块,用于根据所述开始页面的所述埋点标识和每一个所述用户的所述用户行为日志构建用户行为轨迹树。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述用户行为数据的处理方法。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述用户行为数据的处理方法。

本发明提供的用户行为数据的处理方法、装置、设备及存储介质,获取开始页面的埋点标识的所有有效页面埋点,根据埋点标识与停留时长生成行为信息,进而根据每一个用户的所有行为信息生成对应的用户行为日志,并根据开始页面的埋点标识和每一个用户的用户行为日志构建用户行为轨迹树。本发明通过构建用户行为轨迹树,有利于全面准确分析用户行为数据,且有利于提高用户行为数据的查询效率。

附图说明

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

图1是本发明一实施例中用户行为数据的处理方法的应用环境示意图;

图2是本发明一实施例中用户行为数据的处理方法的流程图;

图3是本发明另一实施例中用户行为数据的处理方法的流程图;

图4是本发明一实施例中用户行为数据的处理方法的步骤s30的流程图;

图5是本发明一实施例中用户行为数据的处理方法的步骤s301的流程图;

图6是本发明一实施例中用户行为数据的处理方法的步骤s302的流程图;

图7是本发明另一实施例中用户行为数据的处理方法的步骤s40的流程图;

图8是本发明一实施例中用户行为数据的处理装置的原理框图;

图9是本发明另一实施例中用户行为数据的处理装置的原理框图;

图10是本发明一实施例中计算机设备的示意图。

具体实施方式

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

本发明提供的用户行为数据的处理方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务器进行通信。其中,客户端包括但不限于为各种个人计算机、笔记本电脑、智能手机和平板电脑。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一实施例中,如图2所示,提供一种用户行为数据的处理方法,以该方法应用在图1中的服务器为例进行说明,包括以下步骤:

s10,获取开始页面的埋点标识的所有有效页面埋点,并根据所述埋点标识和停留时长生成行为信息。

其中,所述开始页面为应用程序的各主页面,可以根据需求设置一个或多个开始页面;所述有效页面埋点是由开始页面往后产生的页面以及用户自定义页面进行数据埋点获得;所述行为信息是由埋点标识、停留时长以及第一连接符构成的字段。优选地,所述第一连接符为冒号。

具体的,获取任意一个开始页面的埋点标识的所有有效页面埋点,采用预设第一连接符将埋点标识和停留时长连接之后,生成行为信息,并按照时间顺序对所述行为信息进行排序。示例性的,若埋点标识为pv200,停留时长为10秒,则生成的所述行为信息为pv200:10。

s20,获取每一个用户的所有所述行为信息,并根据每一个所述用户的所有所述行为信息生成对应的用户行为日志。

其中,所述用户行为日志是由所述行为信息、第二连接符构成的长字段。优选地,所述第二连接符为逗号。

具体的,获取埋点标识下的每一个用户的所有行为信息,并将行为信息依次进行列转行处理和第二连接符连接之后,生成用户行为日志。也即,可以将行为信息转换处理为用逗号分隔的用户行为日志。示例性的,若一用户的所有行为信息为pv200:10、pv201:11、pv400:12,则根据上述行为信息转换处理后的用户行为日志可以为pv200:10,pv201:11,pv400:12。

s30,根据所述开始页面的所述埋点标识和每一个所述用户的所述用户行为日志构建用户行为轨迹树。

具体的,将开始页面的埋点标识作为构建用户行为轨迹树的树节点,将每一个用户的用户行为日志进行分组,得到多个子数据集,进而根据多个子数据集多路并行构建行为轨迹子树,合并所有行为轨迹子树得到用户行为轨迹树。其中,多个子数据集为两个及两个以上的子数据集,且每一个子数据集中包含同一类别用户的所有用户行为日志。优选地,所述用户行为轨迹树为三叉树。

综上所述,本实施例获取开始页面的页面标识下每一个用户的所有所述行为信息,生成用户行为日志,并根据开始页面的埋点标识和用户行为日志构建用户行为轨迹树,有利于全面准确分析用户行为数据,且有利于提高用户行为数据的查询效率。

在一实施例中,如图3所示,所述步骤s30之后,包括以下步骤:

s40,接收遍历指令,根据所述遍历指令从所述用户行为轨迹树中获取一输出集合。

其中,所述遍历指令包含遍历初始节点以及对应的埋点标识。

具体的,根据遍历指令对用户行为轨迹树进行深度优先遍历,输出用户行为轨迹树中若干层级上的子节点。若遍历初始节点的埋点标识为开始页面埋点标识,则获取第一数量(优选为20个)子节点的节点数据,并根据第一数量子节点的节点数据生成输出集合,若遍历初始节点的埋点标识不为开始页面埋点标识,则获取第二数量(优选为6个)子节点的节点数据,并根据第二数量子节点的节点数据生成输出集合。该输出集合中每一个子节点的人数均达到预设人数阈值。

s50,将所述输出集合写入至服务器对应的预设数据库中。

作为优选,所述预设数据库为hbases,该hbases为一个分布式的、面向列的开源数据库。

s60,接收客户端发送的查询指令,将所述预设数据库中的所述输出集合发送至所述客户端进行显示。

其中,所述客户端可以包含移动端和pc端。本实施例中,将预设数据库中的输出集合发送至终端进行展示,可以达到用户行为轨迹的可视化呈现的目的,便于用户根据在客户端展示的数据作出优化产品决策,进而提高用户粘度以及用户体验。

在一实施例中,如图4所示,所述步骤s30具体包括以下步骤:

s301,将每一个所述用户的所述用户行为日志进行分组,得到两个及两个以上的子数据集,根据所述子数据集并行构建行为轨迹子树。

作为优选,如图5所示,所述步骤s301包括以下步骤:

s3011,检测所述子数据集是否为空。

s3012,在所述子数据集为空时,输出一棵空的所述行为轨迹子树。

s3013,在所述子数据集不为空时,读取所述子数据集中的所述用户行为日志,解析所述用户行为日志获得一组所述行为信息,根据该组所述行为信息设置树节点以及对应的节点数据。作为优选,所述节点数据包括埋点标识、人数、停留时长、根节点、层级以及子节点集合。

s3014,根据所有的所述树节点以及对应的所述节点数据构建所述行为轨迹子树。

具体的,在子数据集不为空时,依次读取子数据集中的用户行为日志,解析用户行为日志获得一组所述行为信息,此时,若为首条用户行为日志,则设置根节点,并将根节点对应的节点数据设置为:埋点标识为开始页面的标识,人数为0,停留时长为0,层级为0,父节点为空,子节点集合为0;若不为首条用户行为日志,则解析行为信息获得埋点标识和停留时长,根据埋点标识和停留时长设置树节点以及对应的节点数据,直至遍历完该组行为信息,读取数据集中下一行用户行为日志进行解析,获得对应的一组行为信息,根据该组行为信息设置树节点以及对应的节点数据,直至遍历读取该数据集中所有的用户行为日志,进而根据所有的树节点及对应的节点数据生成行为轨迹子树。

其中,所述根据所述埋点标识和停留时长设置树节点以及对应的节点数据包括以下步骤:若为首个行为信息,则根节点的人数增加1,停留时长增加当前解析出的停留时长;若不为首个行为信息时,当前解析出的埋点标识与当前树节点的埋点标识相同,则把当前树节点的停留时长增加当前解析出的停留时长;当前解析出的埋点标识与当前树节点的埋点标识不相同,则设置一个新的树节点,将新的树节点的节点数据设置为:埋点标识为开始页面的标识;人数为1;停留时长为解析出的停留时长,子节点集合为空,层级为当前树节点的层级增加1,父节点我当前节点,并读取下一个行为信息,直至遍历完该组行为信息。

s302,将各所述子数据集对应的所述行为轨迹子树进行合并,生成与所述开始页面对应的用户行为轨迹树。

作为优选,如图6所示,所述步骤s302包括以下步骤:

s3021,获取包含所述行为轨迹子树的子树数组,检测所述子树数组是否为空。

s3022,在所述子树数组为空时,输出一棵空的所述用户行为轨迹树。

s3023,在所述子树数组不为空,且所述子树数组包含一棵行为轨迹子树时,将第一棵所述行为轨迹子树作为所述用户行为轨迹树输出。

s3034,在所述子树数组包含多棵行为轨迹子树时,获取第一棵所述行为轨迹子树构建所述用户行为轨迹树,并遍历所述子树数组获取其他的所述行为轨迹子树,根据其他的所述行为轨迹子树更新设置所述用户行为轨迹树,将更新设置后的所述用户行为轨迹树输出。

示例性的,首先从子树数组取一棵行为轨迹子树作为用户行为轨迹树a,从子树数组遍历取第i棵行为轨迹子树(i=2,3,……,n),更新设置用户行为轨迹树a中根节点的人数增加第i棵行为轨迹子树中根节点的人数,用户行为轨迹树a中根节点的停留时长增加第i棵行为轨迹子树中根节点的停留时长;检测第i棵行为轨迹子树的子节点(除根节点以外其他的树节点)是否为空,若第i棵行为轨迹子树的子节点为空,则输出用户行为轨迹树a,否则遍历第i棵行为轨迹子树的子节点;取子节点集合的一个子节点,判断该子节点是否处于用户行为轨迹树a的相同层级,若该子节点处于用户行为轨迹树a的相同层级,则用户行为轨迹树a的相同层级上子节点的人数增加该子节点的人数,且相同层级上子节点的停留时长增加该子节点的停留时长,并取子节点集合的下一个子节点执行相同的步骤。而若该子节点不处于用户行为轨迹树a的相同层级,则将该子节点的父节点更新设置为用户行为轨迹树a上一层级的树节点,用户行为轨迹树a上一层级上树节点的子节点集合增加该子节点,并输出更新设置后的用户行为轨迹树a。

在本实施例中,每一个开始页面对应一个用户行为轨迹树,且开始页面与用户行为轨迹树关联地存储于服务器对应的预设数据库中。

本实施例通过合并行为轨迹子树生成用户行为轨迹树,可以剪去无效重复的埋点页面,节约了数据存储空间。

在一实施例中,如图7所示,所述步骤s40具体包括以下步骤:

s401,检测所述用户行为轨迹树是否为空。

s402,在所述用户行为轨迹树为空时,输出一个空的所述输出集合。

s403,在所述用户行为轨迹树不为空时,解析出所述遍历指令中包含的遍历初始节点以及对应的所述埋点标识。

s404,根据所述遍历初始节点以及对应的所述埋点标识从所述用户行为轨迹树中获取匹配的子节点的节点数据,并根据所述子节点的节点数据输出所述输出集合。

具体的,在根据遍历初始节点的埋点标识确定为用户行为轨迹树的根节点时,检测根节点的子节点集合是否为空,若根节点的子节点集合为空时,根据该根节点的节点数据输出输出集合,此时该输出集合包含该根节点的节点数据;若根节点的子节点集合不为空,则遍历当前根节点的所述子节点集合,获取第一数量子节点的节点数据,并根据第一数量子节点的节点数据输出输出集合,此时该输出集合包含第一数量子节点的节点数据。而根据所述遍历初始节点的埋点标识确定为用户行为轨迹树的子节点时,获取该子节点的节点数据,并返回至用户行为轨迹树的上一层级,进一步遍历与上一层级关联的子节点,获取第二数量子节点的节点数据,进而根据该子节点的节点数据和第二数量子节点的节点数据输出输出集合,此时该输出集合包含该子节点的节点数据和第二数量子节点的节点数据。

在一实施例中,如图8所示,提供一种用户行为数据的处理装置,该用户行为数据的处理装置与上述实施例中用户行为数据的处理方法一一对应。该用户行为数据的处理装置包括以下模块,各功能模块详细说明如下:

第一获取模块110,用于获取开始页面的埋点标识的所有有效页面埋点,并根据所述埋点标识和停留时长生成行为信息。

第二获取模块120,用于获取每一个用户的所有所述行为信息,并根据每一个所述用户的所有所述行为信息生成对应的用户行为日志。

建树模块130,用于根据所述开始页面的所述埋点标识和每一个所述用户的所述用户行为日志构建用户行为轨迹树。

在一实施例中,如图9所示,所述用户行为数据的处理装置还包括以下模块,各功能模块详细说明如下:

遍历模块140,用于接收遍历指令,根据所述遍历指令从所述用户行为轨迹树中获取一输出集合。

写入模块150,用于将所述输出集合写入至服务器对应的预设数据库中。

查询模块160,用于接收客户端发送的查询指令,将所述预设数据库中的所述输出集合发送至所述客户端进行显示。

在一实施例中,所述建树模块130包括以下子模块,各功能子模块详细说明如下:

分组子模块,用于将每一个所述用户的所述用户行为日志进行分组,得到两个及两个以上的子数据集,根据所述子数据集并行构建行为轨迹子树。

合并子模块,用于将各所述子数据集对应的所述行为轨迹子树进行合并,生成与所述开始页面对应的用户行为轨迹树。

在一实施例中,分组子模块具体包括以下单元,各功能单元详细说明如下:

第一检测单元,用于检测所述子数据集是否为空。

第一输出单元,用于在所述子数据集为空时,输出一棵空的所述行为轨迹子树。

读取单元,用于在所述子数据集不为空时,读取所述子数据集中的所述用户行为日志,解析所述用户行为日志获得一组所述行为信息,根据该组所述行为信息设置树节点以及对应的节点数据。

构建单元,用于根据所有的所述树节点以及对应的所述节点数据构建所述行为轨迹子树。

在一实施例中,所述合并子模块包括以下单元,各功能单元详细说明如下:

第二检测单元,用于获取包含所述行为轨迹子树的子树数组,检测所述子树数组是否为空。

第二输出单元,用于在所述子树数组为空时,输出一棵空的所述用户行为轨迹树。

第三输出单元,用于在所述子树数组不为空,且所述子树数组包含一棵行为轨迹子树时,将第一棵所述行为轨迹子树作为所述用户行为轨迹树输出。

第四输出单元,用于在所述子树数组包含多棵行为轨迹子树时,获取第一棵所述行为轨迹子树构建所述用户行为轨迹树,并遍历所述子树数组获取其他的所述行为轨迹子树,根据其他的所述行为轨迹子树更新设置所述用户行为轨迹树,将更新设置后的所述用户行为轨迹树输出。

在一实施例中,所述遍历模块140包括以下子模块,各功能子模块详细说明如下:

检测子模块,用于检测所述用户行为轨迹树是否为空。

第一输出子模块,用于在所述用户行为轨迹树为空时,输出一个空的所述输出集合。

解析子模块,用于在所述用户行为轨迹树不为空时,解析出所述遍历指令中包含的遍历初始节点以及对应的所述埋点标识。

第二输出子模块,用于根据所述遍历初始节点以及对应的所述埋点标识从所述用户行为轨迹树中获取匹配的子节点的节点数据,并根据所述子节点的节点数据输出所述输出集合。

关于用户行为数据的处理装置的具体限定可以参见上文中对于用户行为数据的处理方法的限定,在此不再赘述。上述用户行为数据的处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机可读指令和数据库。该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机可读指令被处理器执行时以实现一种用户行为数据的处理方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现以下步骤:

获取开始页面的埋点标识的所有有效页面埋点,并根据所述埋点标识和停留时长生成行为信息;

获取每一个用户的所有所述行为信息,并根据每一个所述用户的所有所述行为信息生成对应的用户行为日志;

根据所述开始页面的所述埋点标识和每一个所述用户的所述用户行为日志构建用户行为轨迹树。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机可读指令,计算机可读指令被处理器执行时实现以下步骤:

获取开始页面的埋点标识的所有有效页面埋点,并根据所述埋点标识和停留时长生成行为信息;

获取每一个用户的所有所述行为信息,并根据每一个所述用户的所有所述行为信息生成对应的用户行为日志;

根据所述开始页面的所述埋点标识和每一个所述用户的所述用户行为日志构建用户行为轨迹树。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路dram(sldram)、存储器总线直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元或模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元或模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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