1.一种Web系统大流量数据统计分析方法,其特征在于:包括以下步骤:步骤一、利用Nginxngx_http_empty_gif_module自带模块做数据打点上报;包括以下步骤:(1)打开Nginxngx_http_empty_gif_module在server模块中配置 location 路径,配置log_format参数设定自定义日志输出格式;
(2)使用nginx‑log‑rotate工具,配置定时计划任务定时自动进行日志切割;
步骤二、对Web系统进行数据埋点,包括以下步骤:
(1)在Web系统工具类库中定义一个页面自执行函数(function() {})();
(2)在自定义函数创建script节点,src指定为配置的location 路径,id为唯一值,根据埋点类型对参数进行处理,生成dom节点;
(3)将生成的dom节点动态插入到body节点中;
(4)Web系统埋点,可以采用指定功能按钮埋点和页面路由埋点两种类型,其中指定功能按钮埋点采用声明式埋点,自定义业务区分参数按钮,在需要上报的功能按钮中配置埋点指令,利用Vue.directive指令获取触发按钮的dom节点,执行步骤(2)的自定义函数;
页面路由埋点可以使用 vue‑router 的 beforeEach 或者 afterEach 钩子打点执行自定义函数做埋点上报,将上报的参数封装为json对象,根据业务需求自定义json对象信息;
步骤三、使用 Goroutine 和 Channel 并发统计分析流量日志数据,保存到存储介质中;包括以下步骤:(1)根据业务需求定义基础的struct结构体,引入相关的库函数;
(2)使用for {} 函数常驻内存,依据标记文件处理情况来确定要处理日志的文件,定义日志消费Goroutine、日志统计分析Goroutine、日志存储 Goroutine,开启Pipeline责任链调用;
(3)日志消费Goroutine 解析url内容,存入struct结构体中,通过Channel分配给日志统计分析Goroutine进行统计分析处理;
(4)日志统计分析Goroutine根据结构体type类型做具体的区分或利用Pipeline 编程思想来统计分析多维度数据;计算分析完成通过Channel传递给日志存储 Goroutine,记录分析统计结果。
2.根据权利要求1 所述的Web系统大流量数据统计分析方法,其特征在于:步骤三中的(3)统计分析分为两方面:a、针对指定功能按钮埋点可以统计出热度、搜索词指标;针对页面路由埋点,可以统计出PV、UV、跳出率、访问时长;
b、监控异常流量数据,将异常数据反馈给系统管理人员。
3.根据权利要求1所述的Web系统大流量数据统计分析方法,其特征在于:步骤三中的(4)中日志存储 Goroutine按照多维度的方式存储热点数据。
4.根据权利要求1所述的Web系统大流量数据统计分析方法,其特征在于:还包括使用文件方式或数据库方式标记日志文件处理情况和行数。