当前位置: 首页 > 专利查询>之江实验室专利>正文

一种网站流量数据统计方法和系统技术方案

技术编号:38341487 阅读:14 留言:0更新日期:2023-08-02 09:21
网站流量数据统计的方法,包括:利用JavaScript埋点代码,在网站的页面添加数据统计代码和数据传输地址,创建、记录、收集用户访问行为信息;处理接收埋点服务器的信息,并以日志的形式记录,通过记录的头信息,浏览器信息,再将收集的日志数据通发送到下游的Flume日志框架;分别将日志流进行离线批处理与实时流处理;离线批处理日志通过MapReduce数据清洗后存入Hive中;通过ETL、Storm等计算工具按照业务逻辑进行计算,输出处理后的日志数据;根据实际需要,将日志数据分为多张表并持久化到数据库;数据可视化展示,通过图表组件,对流量数据进行可视化展示。还包括一种网站流量数据统计系统。本发明专利技术结合离线与实时两种数据处理方式,保障网站流量数据的准确性与实时性。保障网站流量数据的准确性与实时性。保障网站流量数据的准确性与实时性。

【技术实现步骤摘要】
一种网站流量数据统计方法和系统


[0001]本专利技术涉及一种网站流量数据统计方法和系统。

技术介绍

[0002]网站流量统计是改进网站运营的重要手段之一,通过获取用户在网站的行为链路,可以分析用户群偏好或分析网站内容的热度,以及网站页面问题,针对这些问题,使网站的页面改进,用户体验提升,转化提升更加有针对性。常用网站流量统计方式主要有两种:1、在自己的网站服务器进行埋点、监测与分析;2、采用第三方提供的网站流量数据统计方式。方法1可以更加灵活地获得用户数据,但是在向第三方进行数据说明时缺乏说服力,且由于数据安全的问题,导致监测方无法与数据样本进行匹配,流量属性分析的准确性下降,且一般均为处理离线数据,缺失实时数据的即时触达与监测;方法2通常需要服务计费,且功能受限于第三方网站的功能规划,对于企业需要个性化定制场景,较为受限。

技术实现思路

[0003]本专利技术要克服现有存在的上述缺点,提供一种网站流量数据统计方法和系统。本专利技术的网站流量数据统计的方法,通过获取用户在网站的行为,构造点击流模型,从而更具有针对性改进网站,包括:
[0004](1)利用JavaScript埋点代码,在网站的页面添加数据统计代码和数据传输地址,用来创建、记录、收集用户访问行为信息;
[0005](2)处理接收埋点服务器的信息,并以日志的形式记录,通过记录的头信息,浏览器信息,再将收集的日志数据通发送到下游的Flume日志框架;
[0006](3)分别将日志流进行离线批处理与实时流处理;
>[0007](4)离线批处理日志通过MapReduce数据清洗后存入Hive中;
[0008](5)通过ETL、Storm等计算工具按照业务逻辑进行计算,输出处理后的日志数据;
[0009](6)根据实际需要,将日志数据分为多张表并持久化到数据库;
[0010](7)数据可视化展示,通过图表组件,对流量数据进行可视化展示。
[0011]所述步骤(1)具体包括:
[0012]首先需在js代码实现埋点,编写特定的js脚本,记录页面uv、cookie、session等用户特征信息并将代码嵌入到需要做日志分析的web页面。
[0013]所述步骤(2)具体包括:通过埋点代码记录的用户基本信息,存在冗余信息或存在缺失信息,通过编写收集日志的服务端对日志进行预处理,包括url转码、日志信息进行统一格式,获取IP等,定义一个继承HttpServlet类的LogServlet类,重写doGet或doPost方法,定义统一日志格式,并补全用户信息,将流量指标信息传入后台服务器;此外,为增加数据采集的丰富度,服务器添加日志记录组件,该组件通过定义@AopLog注解,并创建一个线程中唯一的LogData对象,LogData对象规范了应用中固定的日志打印格式,该对象不仅可打印接口参数还可用于记录服务方法中的过程参数,通过对接口植入切面,进行日志处理;
连通日志服务器与Flume,通过日志的propertis配置,配置flume端口号、地址等信息将日志分别打印至Flume和控制台。
[0014]所述步骤(3)包括:在flume的data目录下创建weblog.conf并配置相应的采集源、下沉目标即HDFS文件系统以及二者之间的传递通道采用文件的方式传递;每当有新文件出现,就分别将log4j传来的离线数据按时间分组存放到中HDFS,实时统计的数据则存入Kafka的生产者中。
[0015]所述步骤(4)中:通过编写MapReduce程序进行离线数据清洗,定制任务调度模块,定时处理数据,将数据段进行分区、排序、规约、分组,并用“,”作为数据段间隔;该处理过程由于需要按照一定的时间规律进行重复计算,因而添加任务调度模块,由任务调度模块对MapReduce的处理进行统一管理和调度;最后将程序打包成jar包上传到Linux并运行jar包,即可执行数据清洗的流程;并通过导入命令将清洗后的数据导入Hive中,按时间进行分区;
[0016]针对需要实时处理的数据,通过Storm进行流式的实时计算,Storm对于持续产生的数据流的处理非常迅速,但是由于数据流的产生并不均匀,因此引进Kafka使数据流均匀发送到Storm订阅的topic,然后进行后续处理。
[0017]所述步骤(5)具体包括:利用ETL对Hive的数据进行分析,ETL将业务系统的数据经过抽取、清洗转换之后加载到数据仓库;通过ETL将日志数据整合到一起,根据业务逻辑,为客户的决策提供分析依据;查询用户归属地,计算总流量最高的地区。
[0018]所述步骤(6)中:将计算后的指标持久化到数据库,所述持久化步骤采用数据导出工具Sqoop实现。
[0019]所述步骤(7)中:所述数据可视化页面采用ECharts,定制开发对应的web程序实现。
[0020]实施本专利技术的网站流量数据统计的方法的系统,其特征在于:包括:
[0021]网站页面标注模块,用于利用JavaScript埋点代码,在网站的页面添加数据统计代码和数据传输地址,用来创建、记录、收集用户访问行为信息;
[0022]日志记录和发送模块,用于处理接收埋点服务器的信息,并以日志的形式记录,通过记录的头信息,浏览器信息,再将收集的日志数据通发送到下游的Flume日志框架;
[0023]日志流处理模块,用于分别将日志流进行离线批处理与实时流处理;
[0024]离线批处理日志数据清洗模块,用于离线批处理日志通过MapReduce数据清洗后存入Hive中;
[0025]日志数据处理模块,用于通过ETL、Storm计算工具按照业务逻辑进行计算,输出处理后的日志数据;
[0026]日志数据分表和持久化模块,用于根据实际需要,将日志数据分为多张表并持久化到数据库;
[0027]数据可视化模块,用于数据可视化展示,通过图表组件,对流量数据进行可视化展示。
[0028]本专利技术还包括一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本专利技术的方法。
[0029]本专利技术工作原理:
[0030]流量采集技术是监控网络流量的重要来源,为了能够在复杂的企业网站页面中有效地对页面流量进行分析,本专利技术主要包括三个部分,第一个部分是记录用户访问全过程,如用户IP地址、浏览器信息、操作系统信息、停留时间、会话记录等用户页面浏览、点击数据;并通过代码的日志组件记录服务器运行过程中的用户数据;第二个部分是记录数据处理部分,包括分别对离线流量数据与实时流量数据的并行清洗、过滤及日志分文件梳理;第三个部分是对于有效数据的分析部分,包括定义指标,从数据库中获取在线人数、周浏览量等业务指标。本专利技术基于Flume日志收集框架、MapReduce并行程序设计框架处理数据,运用Java Spring开发框架结合Hive、SQLLite2数据库,完成对网站数据记录、监测与分析的全流程数据统计。<本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.网站流量数据统计的方法,其特征在于,通过获取用户在网站的行为,构造点击流模型,从而更具有针对性改进网站,包括:(1)利用JavaScript埋点代码,在网站的页面添加数据统计代码和数据传输地址,用来创建、记录、收集用户访问行为信息;(2)处理接收埋点服务器的信息,并以日志的形式记录,通过记录的头信息,浏览器信息,再将收集的日志数据通发送到下游的Flume日志框架;(3)分别将日志流进行离线批处理与实时流处理;(4)离线批处理日志通过MapReduce数据清洗后存入Hive中;(5)通过ETL、Storm等计算工具按照业务逻辑进行计算,输出处理后的日志数据;(6)根据实际需要,将日志数据分为多张表并持久化到数据库;(7)数据可视化展示,通过图表组件,对流量数据进行可视化展示。2.根据权利要求1所述的一种网站流量数据统计的方法,其特征在于,所述步骤(1)具体包括:首先需在js代码实现埋点,编写特定的js脚本,记录页面uv、cookie、session等用户特征信息并将代码嵌入到需要做日志分析的web页面。3.根据权利要求1所述的一种网站流量数据统计的方法,其特征在于,所述步骤(2)具体包括:通过埋点代码记录的用户基本信息,存在冗余信息或存在缺失信息,通过编写收集日志的服务端对日志进行预处理,包括url转码、日志信息进行统一格式,获取IP等,定义一个继承HttpServlet类的LogServlet类,重写doGet或doPost方法,定义统一日志格式,并补全用户信息,将流量指标信息传入后台服务器;此外,为增加数据采集的丰富度,服务器添加日志记录组件,该组件通过定义@AopLog注解,并创建一个线程中唯一的LogData对象,LogData对象规范了应用中固定的日志打印格式,该对象不仅可打印接口参数还可用于记录服务方法中的过程参数,通过对接口植入切面,进行日志处理;连通日志服务器与Flume,通过日志的propertis配置,配置flume端口号、地址等信息将日志分别打印至Flume和控制台。4.根据权利要求1所述的一种网站流量数据统计的方法,其特征在于,所述步骤(3)包括:在flume的data目录下创建weblog.conf并配置相应的采集源、下沉目标即HDFS文件系统以及二者之间的传递通道采用文件的方式传递;每当有新文件出现,就分别将log4j传来的离线数据按时间分组存放到中HDFS,实时统计的数据则存入Kafka的生产者中。5.根据权利要求1所述的一种网站流量数据统计的方法,其特征在于,所述步骤(4)中:通过编写MapRedu...

【专利技术属性】
技术研发人员:徐黎沈程孙婉琪郭伟杰王天放刘敏
申请(专利权)人:之江实验室
类型:发明
国别省市:

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

1