用于处理访问行为数据的方法和装置转让专利

申请号 : CN201810719951.2

文献号 : CN110737691B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 余韬徐然周振宇吴名宇叶峻

申请人 : 百度在线网络技术(北京)有限公司

摘要 :

本申请实施例公开了用于处理访问行为数据的方法和装置。该方法的一具体实施方式包括:获取预设数据采集周期内的访问行为数据,访问行为数据包括访问网络的用户的用户标识;对获取的访问行为数据中的用户标识进行哈希运算,得到各用户标识的哈希值,并按照用户标识的哈希值对用户标识进行排序;按照用户标识的排序抽取满足预设的样本数据量的访问行为数据,作为样本数据。该实施方式能够有效控制采样数据量,从而有效控制聚合计算速度,同时保证采样方法具有良好的稳定性和随机性,获得高精度的数据分析结果。

权利要求 :

1.一种用于处理用户的访问行为数据的方法,包括:

获取预设数据采集周期内的访问行为数据,所述访问行为数据包括访问网络的用户的用户标识;

对获取的访问行为数据中的用户标识进行哈希运算,得到各用户标识的哈希值,并按照用户标识的哈希值对用户标识进行排序;

按照所述用户标识的排序抽取满足预设的样本数据量的访问行为数据,作为样本数据;其中,对于同一个用户主体的访问行为数据,若在当前数据采集周期对应的采样率下被采样,则在采样率相同或采样率更高的数据采集周期中也被采样;对于同一个用户主体的访问行为数据,若在当前数据采集周期对应的采样率下未被采样,则在采样率相同或采样率更低的数据采集周期中也不被采样;

根据预设的样本数据量以及获取的访问行为数据的数据总量确定采样率,包括:根据预设的样本数据量与获取的访问行为数据的数据总量的商,确定采样率;其中,所述预设的样本数据量在不同的预设数据采集周期内均相同;

基于至少一个预设数据采集周期内的样本数据和对应的采样率进行聚合运算,得到访问行为数据的分析结果。

2.根据权利要求1所述的方法,其中,所述基于至少一个预设数据采集周期内的样本数据和对应的采样率进行聚合运算,得到访问行为数据的分析结果,包括:确定所述至少一个预设数据采集周期内的样本数据中的每个用户标识对应的最大采样率;

将所述至少一个预设数据采集周期内的样本数据中每个用户标识对应的最大采样率的倒数累加,得到所述访问行为数据的页面独立访客数的聚合结果。

3.根据权利要求1或2所述的方法,其中,所述基于至少一个预设数据采集周期内的样本数据和对应的采样率进行聚合运算,得到访问行为数据的分析结果,包括以下至少一项:将至少一个预设数据采集周期内的样本数据中表征各用户访问预设站点的特征的数值与对应的采样率相除得到的值累加,得到所述访问行为数据对应的用户访问预设站点的特征值总和;

将至少一个预设数据采集周期内的样本数据的采样率的倒数累加,得到所述访问行为数据的计数统计结果;

将至少一个预设数据采集周期内的样本数据中表征各用户访问预设站点的特征的数值与对应的采样率相除得到的值的累加结果,与所述采样率的倒数的累加结果相除得到的值,作为所述访问行为数据对应的用户访问预设站点的特征值的均值。

4.根据权利要求1所述的方法,其中,所述按照所述用户标识的排序抽取满足预设的样本数据量的访问行为数据,作为样本数据,包括:抽取满足所述预设的样本数据量、且排序在未被抽取的用户标识之前的用户标识对应的访问行为数据,作为样本数据。

5.一种用于处理用户的访问行为数据的装置,包括:

获取单元,被配置成获取预设数据采集周期内的访问行为数据,所述访问行为数据包括访问网络的用户的用户标识;

运算单元,被配置成对获取的访问行为数据中的用户标识进行哈希运算,得到各用户标识的哈希值,并按照用户标识的哈希值对用户标识进行排序;

抽样单元,被配置成按照所述用户标识的排序抽取满足预设的样本数据量的访问行为数据,作为样本数据;其中,对于同一个用户主体的访问行为数据,若在当前数据采集周期对应的采样率下被采样,则在采样率相同或采样率更高的数据采集周期中也被采样;对于同一个用户主体的访问行为数据,若在当前数据采集周期对应的采样率下未被采样,则在采样率相同或采样率更低的数据采集周期中也不被采样;

所述装置还包括分析单元,被配置成:

根据预设的样本数据量以及获取的访问行为数据的数据总量确定采样率,包括:根据预设的样本数据量与获取的访问行为数据的数据总量的商,确定采样率;其中,所述预设的样本数据量在不同的预设数据采集周期内均相同;

基于至少一个预设数据采集周期内的样本数据和对应的采样率进行聚合运算,得到访问行为数据的分析结果。

6.根据权利要求5所述的装置,其中,所述分析单元被配置成按照如下方式进行聚合运算:确定所述至少一个预设数据采集周期内的样本数据中的每个用户标识对应的最大采样率;

将所述至少一个预设数据采集周期内的样本数据中每个用户标识对应的最大采样率的倒数累加,得到所述访问行为数据的页面独立访客数的聚合结果。

7.根据权利要求5或6所述的装置,其中,所述分析单元被配置成按照如下方式至少一项的方式进行聚合运算:将至少一个预设数据采集周期内的样本数据中表征各用户访问预设站点的特征的数值与对应的采样率相除得到的值累加,得到所述访问行为数据对应的用户访问预设站点的特征值总和;

将至少一个预设数据采集周期内的样本数据的采样率的倒数累加,得到所述访问行为数据的计数统计结果;

将至少一个预设数据采集周期内的样本数据中表征各用户访问预设站点的特征的数值与对应的采样率相除得到的值的累加结果,与所述采样率的倒数的累加结果相除得到的值,作为所述访问行为数据对应的用户访问预设站点的特征值的均值。

8.根据权利要求5所述的装置,其中,所述抽样单元进一步按照如下方式抽取满足预设的样本数据量的访问行为数据,作为样本数据:抽取满足所述预设的样本数据量、且排序在未被抽取的用户标识之前的用户标识对应的访问行为数据,作为样本数据。

9.一种电子设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1‑4中任一所述的方法。

10.一种计算机可读存储介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1‑4中任一所述的方法。

说明书 :

用于处理访问行为数据的方法和装置

技术领域

[0001] 本申请实施例涉及计算机技术领域,具体涉及数据分析技术领域,尤其涉及用于处理访问行为数据的方法和装置。

背景技术

[0002] 随着互联网技术的发展,大数据技术逐步深入到各行各业的应用。其中,访问行为数据的收集和分析可以应用在产品推广、运营、监控等方面。在分析数据时,常见的需求是进行多位交叉分析,以多个维度或指标构建分组条件并在各个分组内计算总和、均值等聚合指标。由于计算资源是有限的,通常会在对数据进行采样后,在采样数据上进行数据的聚合计算,来提升数据分析的速度。目前的采样技术普遍采用静态采样率采样的方式来分析数据,提前确定一个固定的采样率,对每天采集的数据,根据采样率进行采样并落地到数据库中以供查询。

发明内容

[0003] 本申请实施例提出了用于处理访问行为数据的方法和装置。
[0004] 第一方面,本申请实施例提供了一种用于处理访问行为数据的方法,包括:获取预设数据采集周期内的访问行为数据,访问行为数据包括访问网络的用户的用户标识;对获取的访问行为数据中的用户标识进行哈希运算,得到各用户标识的哈希值,并按照用户标识的哈希值对用户标识进行排序;按照用户标识的排序抽取满足预设的样本数据量的访问行为数据,作为样本数据。
[0005] 在一些实施例中,上述方法还包括:根据预设的样本数据量以及获取的访问行为数据的数据总量确定采样率;基于至少一个预设数据采集周期内的样本数据和对应的采样率进行聚合运算,得到访问行为数据的分析结果。
[0006] 在一些实施例中,上述基于至少一个预设数据采集周期内的样本数据和对应的采样率进行聚合运算,得到访问行为数据的分析结果,包括:确定至少一个预设数据采集周期内的样本数据中的每个用户标识对应的最大采样率;将至少一个预设数据采集周期内的样本数据中每个用户标识对应的最大采样率的倒数累加,得到访问行为数据的页面独立访客数的聚合结果。
[0007] 在一些实施例中,上述基于至少一个预设数据采集周期内的样本数据和对应的采样率进行聚合运算,得到访问行为数据的分析结果,包括以下至少一项:将至少一个预设数据采集周期内的样本数据中表征各用户访问预设站点的特征的数值与对应的采样率相除得到的值累加,得到访问行为数据对应的用户访问预设站点的特征值总和;将至少一个预设数据采集周期内的样本数据的采样率的倒数累加,得到用户行为数据的计数统计结果;将至少一个预设数据采集周期内的样本数据中表征各用户访问预设站点的特征的数值与对应的采样率相除得到的值的累加结果,与采样率的倒数的累加结果相除得到的值,作为访问行为数据对应的用户访问预设站点的特征值的均值。
[0008] 在一些实施例中,上述按照用户标识的排序抽取满足预设的样本数据量的访问行为数据,作为样本数据,包括:抽取满足预设的样本数据量、且排序在未被抽取的用户标识之前的用户标识对应的访问行为数据,作为样本数据。
[0009] 第二方面,本申请实施例提供了一种用于处理用户的访问行为数据的装置,包括:获取单元,被配置成获取预设数据采集周期内的访问行为数据,访问行为数据包括访问网络的用户的用户标识;运算单元,被配置成对获取的访问行为数据中的用户标识进行哈希运算,得到各用户标识的哈希值,并按照用户标识的哈希值对用户标识进行排序;抽样单元,被配置成按照用户标识的排序抽取满足预设的样本数据量的访问行为数据,作为样本数据。
[0010] 在一些实施例中,上述装置还包括分析单元,被配置成:根据预设的样本数据量以及获取的访问行为数据的数据总量确定采样率;基于至少一个预设数据采集周期内的样本数据和对应的采样率进行聚合运算,得到访问行为数据的分析结果。
[0011] 在一些实施例中,上述分析单元被配置成按照如下方式进行聚合运算:确定至少一个预设数据采集周期内的样本数据中的每个用户标识对应的最大采样率;将至少一个预设数据采集周期内的样本数据中每个用户标识对应的最大采样率的倒数累加,得到访问行为数据的页面独立访客数的聚合结果。
[0012] 在一些实施例中,上述分析单元被配置成按照如下方式至少一项的方式进行聚合运算:将至少一个预设数据采集周期内的样本数据中表征各用户访问预设站点的特征的数值与对应的采样率相除得到的值累加,得到访问行为数据对应的用户访问预设站点的特征值总和;将至少一个预设数据采集周期内的样本数据的采样率的倒数累加,得到用户行为数据的计数统计结果;将至少一个预设数据采集周期内的样本数据中表征各用户访问预设站点的特征的数值与对应的采样率相除得到的值的累加结果,与采样率的倒数的累加结果相除得到的值,作为访问行为数据对应的用户访问预设站点的特征值的均值。
[0013] 在一些实施例中,上述抽样单元进一步暗中如下方式抽取满足预设的样本数据量的访问行为数据,作为样本数据:抽取满足预设的样本数据量、且排序在未被抽取的用户标识之前的用户标识对应的访问行为数据,作为样本数据。
[0014] 第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面提供的用于处理访问行为数据的方法。
[0015] 第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,程序被处理器执行时实现第一方面提供的用于处理访问行为数据的方法。
[0016] 本申请上述实施例的用于处理访问行为数据的方法和装置,通过获取预设数据采集周期内的访问行为数据,访问行为数据包括访问网络的用户的用户标识,对获取的访问行为数据中的用户标识进行哈希运算,得到各用户标识的哈希值,并按照用户标识的哈希值对用户标识进行排序,按照用户标识的排序抽取满足预设的样本数据量的访问行为数据,作为样本数据,能够有效控制采样数据量,从而有效控制聚合计算速度,同时保证采样方法具有良好的稳定性和随机性,获得高精度的数据分析结果。

附图说明

[0017] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0018] 图1是本申请实施例可以应用于其中的示例性系统架构图;
[0019] 图2是根据本申请的用于处理访问行为数据的方法的一个实施例的流程图;
[0020] 图3是根据本申请的用于处理访问行为数据的方法的一个应数据采样结果的示意图;
[0021] 图4是根据本申请的用于处理访问行为数据的方法的一个应用示例的场景图;
[0022] 图5是本申请的用于处理访问行为数据的装置的一个结构示意图;
[0023] 图6是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

具体实施方式

[0024] 下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
[0025] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0026] 图1示出了可以应用本申请的用于处理访问行为数据的方法或用于处理访问行为数据的装置的示例性系统架构100。
[0027] 如图1所示,系统架构100可以包括终端设备101、102、103,网络104、以及服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0028] 用户110可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种信息查询应用,例如搜索引擎客户端、导航客户端、即时通信软件、音视频播放软件等等。
[0029] 终端设备101、102、103可以是具有显示器并支持互联网访问的各种电子设备,包括但不限于智能手机、平板电脑、智能手表、笔记本电脑、膝上便携型电脑、电子书阅读器等。
[0030] 服务器105可以是为终端设备提供查询服务的查询服务器,例如可以是搜索引擎服务器。服务器105可以对终端设备101、102、103发出的查询请求进行解析,根据解析结果查询相应的数据,并可以将查询到的数据通过网络104反馈给终端设备101、102、103。服务器105也可以是对基于终端设备的用户行为数据进行统计分析的后台服务器,服务器105可以对用户通过终端设备101、102、103请求访问网络资源的行为进行记录,并按照设定的周期对记录的行为数据进行统计分析,在用户通过终端设备101、102、103发出统计分析结果的查询请求时,可以将统计分析结果反馈至终端设备101、102、103。
[0031] 需要说明的是,本申请实施例所提供的用于处理访问行为数据的方法可以由服务器105执行,相应地,用于处理访问行为数据的装置可以设置于服务器105中。
[0032] 需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
[0033] 应该理解,图1中的终端设备、网络、服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络、服务器。
[0034] 继续参考图2,其示出了根据本申请的用于处理访问行为数据的方法的一个实施例的流程200。该用于处理访问行为数据的方法,包括以下步骤:
[0035] 步骤201,获取预设数据采集周期内的访问行为数据。
[0036] 在本实施例中,上述用于处理访问行为数据的方法可以获取预设数据采集周期内的访问行为数据。其中,预设数据采集周期可以是预先设定的数据搜集周期,可例如是4小时、一天、一周等。访问行为数据可以是表征用户访问网络资源的行为的数据,可以包括访问网络的用户的用户标识。上述执行主体可以在用户访问网络资源时对用户的访问行为数据进行记录,记录的访问行为数据中可以包括访问网络资源的用户的用户标识,例如用户ID,还可以包括用户访问的网络资源的地址,例如访问的链接地址,还可以包括用户访问网络资源的起始时间和结束时间等。
[0037] 通常,用户可以通过手机、电脑等终端设备提供的各种网络访问入口来访问网络资源。例如,用户可以在浏览器中输入网络地址访问指定的页面,又例如用户可以通过在线购物应用中选择某一物品的名称来访问该物品的详情介绍页面。网络服务器或终端设备可以记录用户的访问操作相关的数据,例如用户标识、访问时间、访问的资源地址、访问时所使用的终端设备的设备型号等相关信息。并且,网络服务器或终端设备可以将预设的数据采集周期内的用户的访问行为数据存储在一个数据集中。在进行数据抽样时,访问行为数据处理方法的执行主体可以从存储器中调取已存储的预设数据采集周期内的访问行为数据,或者接收终端设备发送的预设数据采集周期内的访问行为数据。
[0038] 步骤202,对获取的访问行为数据中的用户标识进行哈希运算,得到各用户标识的哈希值,并按照用户标识的哈希值对用户标识进行排序。
[0039] 通常获取的预设数据采集周期内的访问行为数据的数据量较大,可以对获取到的访问行为数据进行抽样,以降低数据处理的运算量。在本实施例中,可以选择获取的行为数据中的一部分用户的行为数据作为样本数据。具体可以对获取的访问行为数据中的用户标识进行哈希运算,得到各用户标识的哈希值,然后对用户标识的哈希值进行排序。
[0040] 在这里,用户标识通常是由字母、符号、数字等字符组成的一个字符串,用户标识的哈希值可以是对用户标识进行哈希运算得到的一个二进制数值。不同用户标识的哈希值不相同。由于获取的访问行为数据中包含了海量用户访问网络的行为数据,可以根据用户标识的哈希值的唯一性,将哈希值作为选择样本数据的依据。
[0041] 在计算出各用户标识的哈希值之后,可以将用户标识按照哈希值的大小进行排序,具体可以按照哈希值由大到小的顺序排序,也可以按照哈希值由小到大的顺序排序。
[0042] 步骤203,按照用户标识的排序抽取满足预设的样本数据量的访问行为数据,作为样本数据。
[0043] 在本实施例中,可以按照用户标识的由高到低的排序,从获取的访问行为数据中抽取用户标识对应的访问行为数据作为样本数据。在抽取样本数据时,需要保证抽取出的样本数据的数据量满足预设的样本数据量。在这里,预设的样本数据量可以是一个预先设定的值,在不同数据采集周期内获取的访问行为数据的总数据量不相同时,采样得到的样本数据量保持为预设的样本数据量。
[0044] 在本实施例的一些可选的实现方式中,可以抽取满足预设的样本数据量、且排序在未被抽取的用户标识之前的用户标识对应的访问行为数据,作为样本数据。具体来说,可以按照用户标识的排序,依次抽取各用户标识对应的访问行为数据,并判断已抽取的行为数据的数据量是否已达到预设的样本数据量,若已达到,则停止抽取行为数据,否则,继续抽取下一个用户标识对应的用户行为数据,直到已抽取的用户行为数据的数据量已达到预设的样本数据量。或者可以按照用户标识的排序及每个用户标识对应的行为数据的数据量,确定出排序第一至第N位的用户标识对应的访问行为数据为样本数据。例如用户标识排序及对应的数据量依次为:用户A‑100条记录,用户B‑200条记录,用户C‑200条记录,用户D‑150条记录,用户E‑300条记录,…,当预设的样本数据量为500条记录时,可以按照上述排序确定排序第一位、第二位、第三位的用户A、用户B、用户C对应的访问行为数据总量为500条,则可以将用户A、用户B、用户C对应的访问行为数据作为样本数据。
[0045] 上述方法按照用户标识的哈希值的排序来抽取样本数据,可以保证对于同一个用户主体的访问行为数据,若在当前采样率下被采样,那么在采样率相同或采样率更高时该用户主体的访问行为数据一定会被采样;若在当前采样率下未被采样,则在采样率相同或采样率更低时该用户主体的访问行为数据一定不会被采样。例如当用户A在第一天的访问行为数据采样中被抽样为第一天的样本数据,则如果第二天的访问行为数据总量小于第一天的访问行为数据总量,则用户A在第二天的访问行为数据也必然会被抽样至第二天的样本数据集中。这样,可以在不同数据采集周期的访问行为数据的采样中保持一致性,保证采样方法的稳定性,可以保证基于样本数据的数据聚合分析结果具有良好的可靠性。
[0046] 本申请上述实施例的用户处理访问行为数据的方法,通过获取预设数据采集周期内的访问行为数据,访问行为数据包括访问网络的用户的用户标识,对获取的访问行为数据中的用户标识进行哈希运算,得到各用户标识的哈希值,并按照用户标识的哈希值对用户标识进行排序,按照用户标识的排序抽取满足预设的样本数据量的访问行为数据,作为样本数据,能够有效控制采样数据量,从而有效控制聚合计算速度,同时保证采样方法具有良好的稳定性和随机性,获得高精度的数据分析结果。
[0047] 在一些实施例中,上述用于处理用户行为数据的方法还可以包括:根据预设的样本数据量以及获取的访问行为数据的数据总量确定采样率;基于至少一个预设数据采集周期内的样本数据和对应的采样率进行聚合运算,得到访问行为数据的分析结果。
[0048] 具体来说,可以计算预设的样本数据量(即抽样出的样本数据的数据量)与对应的数据采集周期内获取的用户的访问行为数据的数据量的商作为该数据采集周期内的采样率。
[0049] 请参考图3,其示出了根据本申请的用于处理访问行为数据的方法的一个数据采样结果的示意图。如图3所示,在不同的数据采集周期T1、T2、T3、T4、T5、T6中,采集到的行为数据的总量分别为100万条、50万条,75万条,49.9万条,60万条,70万条,预设的样本数据量为50万条,则数据采集周期T1、T2、T3、T4、T5、T6中的样本数据量依次为:50万条、50万条、50万条、49.9万条、50万条、50万条,分别计算出数据采集周期T1、T2、T3、T4、T5、T6的采样率为50%、100%、66.67%、100%、83.3%、71.43%。可以看出,不同数据总量情况下,样本数据的数据量保持一致,采样率可以发生变化,这样,可以避免固定采样率下,数据量突增时样本数据量过大而使得基于样本数据的聚合计算速度受到影响。
[0050] 之后,可以标记不同数据采集周期的样本数据对应的采样率,例如第一周期内的样本数据为{用户A1数据‑采样率γ11,用户B1数据‑采样率γ12,用户C1数据‑采样率γ13,…},第二周期内的样本数据为{用户A2数据‑采样率γ21,用户B2数据‑采样率γ22,用户C2数据‑采样率γ23,…},依此类推。可以基于一个或多个预设数据采集周期内的样本数据和对应的采样率进行聚合计算,得到访问行为数据的分析结果。聚合计算可以包括对样本数据中预设数据项的总和、均值、最大值、最小值、满足一定条件的数据量等指标的计算和统计。在这里,预设数据项可以是表征用户访问行为特征的数据项,例如用户的点击数、点击某一页面的用户数量、用户访问时长等等。
[0051] 在一些可选的实现方式中,上述基于至少一个预设数据采集周期内的样本数据和对应的采样率进行聚合运算,得到访问行为数据的分析结果的步骤,可以包括:确定至少一个预设数据采集周期内的样本数据中的每个用户标识对应的最大采样率;将至少一个预设数据采集周期内的样本数据中每个用户标识对应的最大采样率的倒数累加,得到访问行为数据的页面独立访客数的聚合结果。
[0052] 具体来说,假设访问目标页面的用户主体i的采样率为Pi,每个访问目标页面的用户主体在采样率为Pi时可以代表1/Pi个用户主体,但在不同的数据采集周期,采样率Pi可以发生改变,因此样本数据中每个用户主体代表的主体数量1/Pi也会发生改变。在获取了多个数据采集周期的访问行为数据时,可以选出该用户主体在多个数据采集周期中的最大采样率,即确定出至少一个预设数据采集周期内的样本数据中的每个用户标识对应的最大采样率,最大采样率的倒数表示该用户标识所代表的最小独立用户主体数,然后可以基于最大采样率的倒数对用户主体所代表的最小独立用户主体数进行累加求和,得到访问行为数据的页面独立访客数的聚合结果。
[0053] 例如,样本数据中包含n个独立的用户主体,每个独立的用户主体i有mi条访问目标页面的记录,第j条记录的采样率为Pij,则用户主体i代表的最小独立用户主体数为min(1/Pij),最终的目标页面的独立访客数的总数U为:
[0054]
[0055] 在这里,目标页面的独立访客数的总数U为主体去重数的聚合计算结果,即访问目标页面的用户主体的总数。
[0056] 以下以预设的数据采集周期为一天,采用连续两天的采集到的访问行为数据中抽取的样本数据进行聚合计算为例,证明上述页面独立访客数U的计算方式可以表征访问目标页面的用户主体的总数。
[0057] 假设第一天采集的访问行为数据中访问目标页面的独立的用户主体数量为U1,采样的独立用户主体数为S1,则第一天的采样率为P1=S1/U1。第二天采集的访问行为数据中独立的用户主体数量为U2,采样的独立用户主体数为S2,其中从第一天留存下来的用户数为R,则第二天的采样率为P2=S2/U2。在这里,从第一天留存下来的用户数为R表示第一天和第二天都访问目标页面的用户的数量。
[0058] 当P1≥P2时,第二天采样的独立用户主体数S2对应的用户主体总数(即第二天访问目标页面的用户主体总数)中,P2×R的用户主体是第一天留存下来的,且由于P1≥P2,这些留存的主体必定在S1对应的用户主体总数(即第一天访问目标页面的用户主体总数)中,则根据上述公式(1)计算两天的页面独立访客数的总数U’为:
[0059]
[0060] 当P1≤P2时,第一天采样的独立用户主体数S1对应的用户主体总数(即第一天访问目标页面的用户主体总数)中,P1×R的用户主体可以留存至第二天,且由于P1≤P2,这些留存的主体必定都在S2对应的用户主体总数(即第二天访问目标页面的用户主体总数)中,则根据上述公式(1)计算两天的页面独立访客数的总数U’为:
[0061]
[0062] 可以看出,在P1≥P2或P1≤P2时,根据上述公式(1)提供的方法计算得到的用户主体去重数是正确的,这样可以避免重复访问的用户被重复统计,能够得到更精确的聚合分析结果。
[0063] 由于本申请的用于处理访问行为数据的方法中采用的数据抽样算法可以保证留存的用户主体一定在采样率更高的样本数据集中被抽样到,因此,当留存的用户主体从采样率较低的样本数据集中去重之后,在采样率更高的样本数据集中的用户主体已经包含了所有留存的用户主体。
[0064] 请参考图4,其示出了根据本申请的用于处理访问行为数据的一个应用示例的场景图,也即示出了在进行独立访客数的聚合计算中所采用的方法的原理示意图。
[0065] 如图4所示,圆点“○”表示第一采样率下的用户主体(例如第一个数据采集周期采集到的用户主体),三角点“△”表示第二采样率下的用户主体(例如第二个数据采集周期采集到的用户主体),星标符号“☆”表示第三采样率下的用户主体(例如第三个数据采集周期采集到的用户主体),其中,第一采样率<第二采样率<第三采样率。每个大圆圈表示对应采样率下所有用户主体的集合。
[0066] 从图4可以看出,对于两个大圆圈的交集或三个大圆圈的交集中的样本,在其所属的用户主体集中,选择在采样率最高的样本集中予以保留,即可以正确去重其他重复的样本,例如图4中,去重后,第一采样率下的用户主体集和第二采样率下的用户主体集的交集中,可以仅保留第二采样率下的用户主体,去除第一采样率下的用户主体;第一采样率下的用户主体集和第三采样率下的用户主体集的交集中,可以仅保留第三采样率下的用户主体,去除第一采样率下的用户主体;第二采样率下的用户主体集和第三采样率下的用户主体集的交集中,可以仅保留第三采样率下的用户主体,去除第二采样率下的用户主体;第一采样率下的用户主体集、第二采样率下的用户主体集以及第三采样率下的用户主体集的交集中,可以仅保留第三采样率下的用户主体,去除第一采样率下的用户主体和第二采样率下的用户主体集。由于保留的用户主体所在的用户主体集的采样率是包含该用户主体的用户主体集中采样率最高的,基于保留的用户主体可以还原出所有的用户主体集中用户主体去重数的准确结果。
[0067] 在一些实施例中,上述基于至少一个预设数据采集周期内的样本数据和对应的采样率进行聚合运算,得到访问行为数据的分析结果,可以包括但不限于以下至少一项:
[0068] 第一,将至少一个预设数据采集周期内的样本数据中表征各用户访问预设站点的特征的数值与对应的采样率相除得到的值累加,得到访问行为数据对应的用户访问预设站点的特征值总和。在这里,用户访问预设站点的特征的数值可以包括用户访问预设站点的PV(Page View,页面访问数),访问时长等。例如在计算至少一个预设数据采集周期内的目标站点的PV时,可假设样本数据中包含n条记录(即包含n个用户的访问记录),第i条记录的采样率为Pi,则可以将样本数据中用户访问目标站点的访问次数PVi与其对应的采样率Pi相除,得到第i条记录对应的目标站点的访问数PVi/Pi,之后再累加得到用户访问目标站点的页面访问数PV总和为:
[0069]
[0070] 第二,将至少一个预设数据采集周期内的样本数据的采样率的倒数累加,得到用户行为数据的计数统计结果。在这里,采样率的倒数1/Pi可以表示该采样率Pi对应的样本数据中的用户主体所代表的用户主体总数US,即用户行为数据的计数统计结果US为:
[0071]
[0072] 第三,将至少一个预设数据采集周期内的样本数据中表征各用户访问预设站点的特征的数值与对应的采样率相除得到的值的累加结果,与采样率的倒数的累加结果相除得到的值,作为访问行为数据对应的用户访问预设站点的特征值的均值。即可以将以上第一项聚合计算的得到的用户访问预设站点的特征值总和与第二项聚合计算得到的计数统计结果相除,例如将用户访问目标站点的页面访问数PV总和与用户主体总数US相除,得到每个用户的平均访问数AveragePV:
[0073]
[0074] 上述聚合计算结果可以在接收到相应的查询请求时推送至发出查询请求的终端设备。例如当终端设备响应于用户的请求而发出查询近一个月内的某一站点的用户访问总数时,上述用于处理访问行为数据的方法的执行主体可以以天为数据采集周期统计近一个月内的用户的行为数据并进行抽样,计算每天的采样率,然后根据上述公式(4)计算出用户访问总数并推送至终端设备。这样,可以利用样本数据快速聚合计算得出总体数据的分析结果,能够提供较精确的查询结果。
[0075] 进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于处理访问行为数据的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
[0076] 如图5所示,本实施例的用于处理访问行为数据的装置500包括:获取单元501、运算单元502以及抽样单元503。其中获取单元501可以被配置成获取预设数据采集周期内的访问行为数据,访问行为数据包括访问网络的用户的用户标识;运算单元502可以被配置成对获取的访问行为数据中的用户标识进行哈希运算,得到各用户标识的哈希值,并按照用户标识的哈希值对用户标识进行排序;抽样单元503可以被配置成按照用户标识的排序抽取满足预设的样本数据量的访问行为数据,作为样本数据。
[0077] 在一些实施例中,上述装置500还可以包括分析单元,被配置成:根据预设的样本数据量以及获取的访问行为数据的数据总量确定采样率;基于至少一个预设数据采集周期内的样本数据和对应的采样率进行聚合运算,得到访问行为数据的分析结果。
[0078] 在一些实施例中,上述分析单元可以被配置成按照如下方式进行聚合运算:确定至少一个预设数据采集周期内的样本数据中的每个用户标识对应的最大采样率;将至少一个预设数据采集周期内的样本数据中每个用户标识对应的最大采样率的倒数累加,得到访问行为数据的页面独立访客数的聚合结果。
[0079] 在一些实施例中,上述分析单元可以被配置成按照如下方式至少一项的方式进行聚合运算:将至少一个预设数据采集周期内的样本数据中表征各用户访问预设站点的特征的数值与对应的采样率相除得到的值累加,得到访问行为数据对应的用户访问预设站点的特征值总和;将至少一个预设数据采集周期内的样本数据的采样率的倒数累加,得到用户行为数据的计数统计结果;将至少一个预设数据采集周期内的样本数据中表征各用户访问预设站点的特征的数值与对应的采样率相除得到的值的累加结果,与采样率的倒数的累加结果相除得到的值,作为访问行为数据对应的用户访问预设站点的特征值的均值。
[0080] 在一些实施例中,上述抽样单元503可以进一步暗中如下方式抽取满足预设的样本数据量的访问行为数据,作为样本数据:抽取满足预设的样本数据量、且排序在未被抽取的用户标识之前的用户标识对应的访问行为数据,作为样本数据。
[0081] 应当理解,装置500中记载的诸单元与参考图2和图4描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于装置500及其中包含的单元,在此不再赘述。
[0082] 本申请上述实施例的用于处理访问行为数据的装置500,通过获取单元获取预设数据采集周期内的访问行为数据,访问行为数据包括访问网络的用户的用户标识,运算单元对获取的访问行为数据中的用户标识进行哈希运算,得到各用户标识的哈希值,并按照用户标识的哈希值对用户标识进行排序,抽样单元按照用户标识的排序抽取满足预设的样本数据量的访问行为数据,作为样本数据,能够有效控制采样数据量,从而有效控制聚合计算速度,同时保证采样方法具有良好的稳定性和随机性,获得高精度的数据分析结果。
[0083] 下面参考图6,其示出了适于用来实现本申请实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
[0084] 如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
[0085] 以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
[0086] 特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0087] 可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0088] 附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0089] 描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、运算单元和抽样单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取预设数据采集周期内的访问行为数据的单元”。
[0090] 作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:获取预设数据采集周期内的访问行为数据,访问行为数据包括访问网络的用户的用户标识,对获取的访问行为数据中的用户标识进行哈希运算,得到各用户标识的哈希值,并按照用户标识的哈希值对用户标识进行排序,按照用户标识的排序抽取满足预设的样本数据量的访问行为数据,作为样本数据。
[0091] 以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。