本发明专利技术属于大数据分析技术领域,涉及一种页面访问上下游流量的计算方法,步骤为:获取用户的访问日志数据并进行存储;离线分析系统读取并解析访问日志数据,还原用户访问路径树,将其写入存储系统中的数据表中;即席分析系统根据查询条件,读取并匹配用户的访问树,返回页面的上下游流量数据。本发明专利技术通过访问路径计算规则将无结构、乱序的访问日志转化为用户完整的访问路径的树状结构,从而支持多样的查询匹配条件,数据更加准确避免数据的重复匹配;通过对树状结构序列化的存储方式,在不丢失访问信息的保证下,由链接树字典单元块加速查询匹配效率,而访问树单块元的序列化方式极大方便路径检索算法实现,能够提供给定访问路径并匹配的能力。
【技术实现步骤摘要】
一种页面访问上下游流量的计算方法
本专利技术属于大数据分析
,涉及一种页面访问上下游流量的计算方法。
技术介绍
通过用户访问网站留下的访问日志,分析页面的访问情况以及给下游页面的流量转化情况是每个公司的基本运营关注指标,基于这些数据可调整页面布局等手段最大化用户访问留存和调整流量分配。目前存在的问题是,直接查询访问日志计算的方案复杂繁琐,而市面上存在的众多分析服务也仅能满足基本的数据需求,无法很好匹配公司的业务情况以及分析需要,尤其是市面的分析服务计算上下游流量算法,当用户的访问路径中存在多个匹配时都会全部算入,存在重复统计问题,不能反映出流量逐层递减的数据指标,而且无法满足匹配给定一条页面访问路径的流量情况的分析需要。
技术实现思路
本专利技术针对上述的问题,提供了一种页面访问上下游流量的计算方法。为了达到上述目的,本专利技术采用的技术方案为,一种页面访问上下游流量的计算方法,具体步骤如下:1)获取用户的访问日志数据并进行存储;2)离线分析系统读取并解析访问日志数据,还原用户访问路径树,并将其写入存储系统中的数据表中;3)即席分析系统根据查询条件,读取并匹配用户的访问树,返回页面的上下游流量数据。作为优选,所述访问日志数据包括访问时间、用户标识ID、会话ID、当前页面链接、来源页面链接。作为优选,所述步骤2)为:离线分析系统读取并解析访问日志数据,基于日志信息按照路径计算规则还原用户的访问路径树,并将访问树序列化后与其他用户信息写入到存储系统中的数据表中。作为优选,所述路径计算规则包括以下步骤:读取访问日志,并按用户标识ID,会话ID分组;对分组内数据按照访问时间做升序排序;按顺序遍历,根据当前页面访问日志的来源页面链接,回溯查找该来源页面在时间上最近一次访问的记录,若查找到,则将当前页面标记为该来源页面的下游并存储到特定的数据结构,否则标记为新的访问入口,直至遍历完全部记录。作为优选,所述即席分析系统中的查询条件包括时间范围、待查询页面的链接以及待查询页面所属访问路径沿途访问过的页面链接和顺序。作为优选,所述即席分析系统中的返回页面的上下游流量数据包括:下游或下游各页面链接,下游或下游各页面PV,下游或下游各页面UV,下游或下游各页面PV占比,下游总的流失量与流失率。作为优选,所述离线分析系统为Hive计算引擎,即席分析系统包括Presto查询计算引擎和web平台。作为优选,所述存储系统包括数据存储系统和数据序列化格式;所述数据序列化格式包括:会话单元块,描述当前用户ID下各个会话的访问路径,包含页面链接字典子单元块和访问树子单元块;页面链接字典子单元块,描述出现的页面链接,对访问树中出现的链接进行编号为字典;访问树子单元块,描述访问路径,对路径树层次遍历得到序列做编码。作为优选,所述数据存储系统包括Hive。作为优选,数据序列化格式按照给定的编码结构,采用二进制字节编码。与现有技术相比,本专利技术的优点和积极效果在于,本专利技术通过访问路径计算规则将无结构、乱序的访问日志转化为用户完整的访问路径的树状结构,从而支持多样的查询匹配条件,数据更加准确避免数据的重复匹配;通过对树状结构序列化的存储方式,在不丢失访问信息的保证下,还可以由链接树字典单元块加速查询匹配效率,而访问树单块元的序列化方式极大方便路径检索算法实现,能够提供给定访问路径并匹配的能力。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为一种页面访问上下游流量的计算方法的流程图;图2为一种页面访问上下游流量的计算方法中存储系统的流程图。具体实施方式为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和实施例对本专利技术做进一步说明。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但是,本专利技术还可以采用不同于在此描述的其他方式来实施,因此,本专利技术并不限于下面公开说明书的具体实施例的限制。实施例1,如图1所示,一种页面访问上下游流量的计算方法,包括以下步骤:从Nginx反向代理服务器上获取用户访问日志,传输上传到HDFS存储,使用Hive离线处理引擎,对访问日志进行解析,提取日志中包括:访问时间,用户标识ID,会话ID,当前页面链接以及来源页面链接,存储到Hive数据表中,存储格式使用Parquet或ORC提高存储查询效率。接下来在对访问日志处理时,同样使用Hive离线处理引擎处理,而访问路径规则通过将逻辑封装UDAF函数实现,结合到HQL基于用户标识ID分组,将相同用户的访问路径输入到UDAF函数处理,处理后输出为特殊数据结构序列化后的二进制数据,作为Hive表的一个字段存储。其中访问路径计算规则为UDAF的核心,内部先对会话ID做分组,对分组内数据按照访问时间做升序排序,接下来按顺序遍历,根据当前页面访问日志的来源页面链接,回溯查找该来源页面时间上最近一次访问的记录,若查找到,则将当前页面标记为该来源页面的下游并以特定数据结构存储,否则标记为新的访问入口,直至遍历完全部记录。最终按照接下来展开说明的存储方法实施方式,对数据做序列化并输出。即席查询时,使用Presto引擎实现亚秒级别查询能力,同时也将序列化数据的解析匹配逻辑封装到一个UDAF函数当中,以普通SQL的方式调用。查询传入查询时间和页面链接序列后,通过时间字段可快速初步过滤出一批数据,接下来UDAF函数处理访问树字段,函数内部读取序列化后的访问树数据,内存中重建数据结构,应用树算法判断给定页面链接序列是否匹配,并返回匹配结果以及下游页面链接。在完成过滤和匹配后,可以得到一批用户标识ID以及关联的下游页面链接数据,再对这批数据按照页面链接分组,即可得到需要的各个下游链接的PV和UV等数据用于前端页面展示。如图2所示,提供了配套计算方法的一种存储方案:实施方式中的数据存储系统使用了基于HDFS,Hive数据表存储,且为了实现二进制数据存储以及提高压缩查询效率,使用了Parquet作为存储格式。而数据序列化格式,用于存储访问路径树的数据结构,按照预先定义好的格式进行二进制字节编码。包括了会话单元块,及其页面链接字典与访问树两个子单元块。会话单元块,描述当前用户ID下各个会话的访问路径。页面链接字典子单元块,描述出现的页面链接,对访问树中出现的链接进行编号为字典。访问树子单元块,描述访问路径,对路径树层次遍历得到序列做编码。以上所述,仅是本专利技术的较佳实施例而已,并非是对本专利技术作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内本文档来自技高网...
【技术保护点】
1.一种页面访问上下游流量的计算方法,其特征在于,/n具体步骤如下:/n1)获取用户的访问日志数据并进行存储;/n2)离线分析系统读取并解析访问日志数据,还原用户访问路径树,并将其写入存储系统中的数据表中;/n3)即席分析系统根据查询条件,读取并匹配用户的访问树,返回页面的上下游流量数据。/n
【技术特征摘要】
1.一种页面访问上下游流量的计算方法,其特征在于,
具体步骤如下:
1)获取用户的访问日志数据并进行存储;
2)离线分析系统读取并解析访问日志数据,还原用户访问路径树,并将其写入存储系统中的数据表中;
3)即席分析系统根据查询条件,读取并匹配用户的访问树,返回页面的上下游流量数据。
2.根据权利要求1所述的一种页面访问上下游流量的计算方法,其特征在于,所述访问日志数据包括访问时间、用户标识ID、会话ID、当前页面链接、来源页面链接。
3.根据权利要求2所述的一种页面访问上下游流量的计算方法,其特征在于,所述步骤2)为:离线分析系统读取并解析访问日志数据,基于日志信息按照路径计算规则还原用户的访问路径树,并将访问树序列化后与其他用户信息写入到存储系统中的数据表中。
4.根据权利要求3所述的一种页面访问上下游流量的计算方法,其特征在于,所述路径计算规则包括以下步骤:读取访问日志,并按用户标识ID,会话ID分组;对分组内数据按照访问时间做升序排序;按顺序遍历,根据当前页面访问日志的来源页面链接,回溯查找该来源页面在时间上最近一次访问的记录,若查找到,则将当前页面标记为该来源页面的下游并存储到特定的数据结构,否则标记为新的访问入口,直至遍历完全部记录。
5.根据权利要求4所述的一种页面访问上下游流量的计算方法,其特征在于,所述即席分析系...
【专利技术属性】
技术研发人员:刘家锹,
申请(专利权)人:广州凡科互联网科技股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。