用户访问数量统计方法及其系统技术方案

技术编号:15726877 阅读:78 留言:0更新日期:2017-06-29 22:21
本申请公开一种用户访问数量统计方法及其系统,其中所述方法包括:获取预设时间段内用户访问业务数据的访问信息;对所述访问信息进行分组及去重处理得到统计数据;根据所述统计数据统计业务数据的独立访客数据。通过本申请能够有效避免分布式计算统计访问量指标时出现的数据倾斜。

【技术实现步骤摘要】
用户访问数量统计方法及其系统
本申请涉及计算机
,尤其涉及一种用户访问数量统计方法及其系统。
技术介绍
目前,每天都会有大量的用户登录电子商务平台(例如支付宝客户端),有些用户在电子商务平台的停留时间会比较长,点击访问的产品会比较的多,这样就会产生大量的访问浏览痕迹。在每天离线统计电子商务平台中的每个产品的当日总的访问UV(独立访客,UniqueVisitor)时,由于每天电子商务平台的访问点击量都已经达到N百亿级别的数据量,数据存储都已经快达到TB级别的数据量。现有技术中的一种统计UV的方案是直接根据产品来分组,然后对用户进行合并去重后再计算UV。但是由于每个产品对应的用户是分布不均匀的,在分布式计算UV时会产生严重的数据倾斜,即会导致一个数据统计,在分布式集群系统上运行很长时间都无法产生运行结果的情况。对于数据倾斜严重的去重汇总统计,分布式集群系统有时候会挂死(hang死)的情况。因此有必要提出改进的技术手段解决上述问题。
技术实现思路
本申请的主要目的在于提供一种用户访问数量统计方法及其系统,以解决现有技术的统计用户UV导致的数据倾斜的问题。为了解决上述问题,根据本申请实施例提供一种用户访问数量统计方法,其包括:获取预设时间段内用户访问业务数据的访问信息;对所述访问信息进行分组及去重处理得到统计数据;根据所述统计数据统计业务数据的独立访客数据。其中,所述访问信息包括:用户标识信息、业务数据标识信息、业务数据对应的页面标识信息。其中,所述对所述访问信息进行分组及去重处理的步骤,包括:根据所述业务数据标识信息对所述访问信息进行第一次分组;根据所述页面标识信息对第一次分组后得到的每个组进行第二次分组;对第二次分组得到的每个组内、页面标识信息和用户标识信息相同的访问信息进行去重处理,得到所述统计数据。其中,所述访问信息还包括:页面对应的控件的标识信息;所述对所述访问信息进行分组及去重处理的步骤,包括:根据所述业务数据标识信息对所述访问信息进行第一次分组;根据所述页面标识信息对第一次分组后得到的每个组进行第二次分组;根据所述控件标识信息对第二次分组后得到的每个组进行第三次分组;对第三次分组得到的每个组内、页面标识信息和用户标识信息相同的访问信息进行去重处理,得到所述统计数据。其中,所述方法还包括:通过分布式计算统计业务数据的独立访客数据。其中,所述方法还包括:通过用户访问日志表获取所述访问信息。根据本申请实施例还提供一种用户访问数量统计系统,其包括:获取模块,用于获取预设时间段内用户访问业务数据的访问信息;分组及去重模块,用于对所述访问信息进行分组及去重处理得到统计数据;统计模块,用于根据所述统计数据统计业务数据的独立访客数据。其中,所述访问信息包括:用户标识信息、业务数据标识信息、业务数据对应的页面标识信息。其中,所述分组及去重模块包括:第一分组模块,用于根据所述业务数据标识信息对所述访问信息进行第一次分组;第二分组模块,用于根据所述页面标识信息对第一次分组后得到的每个组进行第二次分组;第一去重模块,用于对第二次分组得到的每个组内、页面标识信息和用户标识信息相同的访问信息进行去重处理,得到所述统计数据。其中,所述访问信息还包括:页面对应的控件的标识信息;所述分组及去重模块包括:第一分组模块,用于根据所述业务数据标识信息对所述访问信息进行第一次分组;第二分组模块,用于根据所述页面标识信息对第一次分组后得到的每个组进行第二次分组;第三分组模块,用于根据所述控件标识信息对第二次分组后得到的每个组进行第三次分组;第二去重模块,用于对第三次分组得到的每个组内、页面标识信息和用户标识信息相同的访问信息进行去重处理,得到所述统计数据。其中,所述统计模块通过分布式计算统计业务数据的独立访客数据。其中,所述获取模块通过用户访问日志表获取所述访问信息。根据本申请的技术方案,通过将访问数据分级分组为多个统计任务,虽然增加了任务数量但是每个任务的运行时间会程几何形的缩短,有效避免了分布式计算统计访问量指标时出现的数据倾斜。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请一个实施例的用户访问数量统计方法的流程图;图2是根据本申请另一实施例的用户访问数量统计方法的流程图;图3是根据本申请实施例的用户访问数量统计系统的结构框图;图4是根据本申请一个实施例的分组及去重模块的结构框图;图5是根据本申请另一实施例的分组及去重模块的结构框图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。图1是根据本申请实施例的用户访问数量统计方法的流程图,如图1所示,该方法包括:步骤S102,获取预设时间段内用户访问业务数据的访问信息。具体而言,当用户通过客户端访问网站中的某个(些)业务数据时,服务端根据用户的访问浏览情况会生成用户访问日志表。一般地,每个业务数据对应有多个页面,每个页面对应有多个控件,每个用户会访问点击页面中的多个的控件,而且同一个控件也会被同一个用户多次访问点击。在本申请实施例中,通过用户访问日志表获取至少以下的用户访问业务数据的访问信息:业务数据标识信息(product_id),例如对于购物网站来说业务数据可以是用户访问的某个产品;页面标识信息(view_id),即业务数据对应的页面的标识信息,每个业务数据具有对应的一个或多个页面,每个页面具有唯一标识信息。控件标识信息(action_id),即页面对应的控件的标识信息,每个页面具有对应的一个或多个控件,每个控件具有唯一标识信息。用户标识信息(user_id);访问的时间(create_date)。步骤S104,对所述访问信息进行分组及去重处理。在本申请的一个实施例中,首先根据业务数据标识信息(product_id)对访问信息进行第一次分组,即将业务数据标识信息相同的访问信息划分到同一组中;然后,根据页面标识信息(view_id)对第一次分组后得到的每个组进行第二次分组,即将页面标识信息相同的访问信息划分到同一组中;最后,对第二次分组后得到的每个组内、页面标识信息和用户标识信息相同的访问信息进行去重处理,汇总后得到统计数据。下面结合表1至表7详细描述本实施例的处理细节。表1业务数据(product_id)页面(view_id)用户(user_id)1111111111111211111111111112112111111211121121111112111221111112111112211111121111122121111212111221211112121112表1中示出了通过用户访问日志表获取的部分访问信息。通过表1可以看出,每个产品(1、2……)分别对应有多个页面(11、12……),不同的用户(1111、1112……)访问这些页面。在进行分组处理时,首先根据业务数据标识信息(pro本文档来自技高网...
用户访问数量统计方法及其系统

【技术保护点】
一种用户访问数量统计方法,其特征在于,包括:获取预设时间段内用户访问业务数据的访问信息;对所述访问信息进行分组及去重处理得到统计数据;根据所述统计数据统计业务数据的独立访客数据。

【技术特征摘要】
1.一种用户访问数量统计方法,其特征在于,包括:获取预设时间段内用户访问业务数据的访问信息;对所述访问信息进行分组及去重处理得到统计数据;根据所述统计数据统计业务数据的独立访客数据。2.根据权利要求1所述的方法,其特征在于,所述访问信息包括:业务数据标识信息、页面标识信息、用户标识信息。3.根据权利要求2所述的方法,其特征在于,所述对所述访问信息进行分组及去重处理的步骤,包括:根据所述业务数据标识信息对所述访问信息进行第一次分组;根据所述页面标识信息对第一次分组后得到的每个组进行第二次分组;对第二次分组得到的每个组内、页面标识信息和用户标识信息相同的访问信息进行去重处理,得到所述统计数据。4.根据权利要求2所述的方法,其特征在于,所述访问信息还包括:控件标识信息;所述对所述访问信息进行分组及去重处理的步骤,包括:根据所述业务数据标识信息对所述访问信息进行第一次分组;根据所述页面标识信息对第一次分组后得到的每个组进行第二次分组;根据所述控件标识信息对第二次分组后得到的每个组进行第三次分组;对第三次分组得到的每个组内、页面标识信息和用户标识信息相同的访问信息进行去重处理,得到所述统计数据。5.根据权利要求3或4所述的方法,其特征在于,还包括:通过分布式计算统计业务数据的独立访客数据。6.根据权利要求1所述的方法,其特征在于,还包括:通过用户访问日志表获取所述访问信息。7.一种用户访问数量统计系统,其特征在于,包括:获取模块,用于获取预...

【专利技术属性】
技术研发人员:田金元
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1