① 对网站的pv进行数据统计数据的来源是网站服务器的log日志吗
网站的统计数据来源于服务器的log日志?
这个问题,牵扯太多,我整理下思路说下吧。(关于技术的发展史,是需要很长的一个篇幅了,由于我现在没有整理好...所以呢先发下面的)
0.简要回答
首先,网站的统计数据一部分是来源于 静态服务器的log做日志分析的,但它是原始方法,为什么说是原始方法呢,因为日志分析局限性很多,而且由于互联网信息化的高速发展,多样化的需求统计的出现,导致日志做分析很难去实现特定的统计,再加上大数据的推波助澜,让我们可以相对容易的处理海量数据;
网站统计架构的发展简单史;
从而发展到现在,一般前端(PC、手机、小程序等)统计使用埋点去统计数据,后端使用 主流的大数据集群架构 来实现 数据的统计、处理、筛选、归类等,再加上web框架的展示层做大数据可视化屏幕、前端展现, 中间加上 各种中间件做润滑;(介绍大数据架构也是需要单独的篇幅来说明的,结构如下,这个架构称之为lambda+架构 经典架构)
2、网站统计的经典架构
目前也有一些新型架构的出现了Kappa之类;本片不做延展了.
5、数据收集脚本执行
数据收集脚本(ga.js)被请求后会被执行,这个脚本一般要做如下几件事:
1、通过浏览器内置javascript对象收集信息,如页面title(通过document.title)、referrer(上一跳url,通过document.referrer)、用户显示器分辨率(通过windows.screen)、cookie信息(通过document.cookie)等等一些信息。
2、解析_gaq收集配置信息。这里面可能会包括用户自定义的事件跟踪、业务数据(如电子商务网站的商品编号等)等。
3、将上面两步收集的数据按预定义格式解析并拼接。
4、请求一个后端脚本,将信息放在http request参数中携带给后端脚本。
6、后端执行数据收集、清洗、筛选、处理等 生成需求数据(也就是我们要看的数据);
下面有个表 就是 一般收集时候的基本数据;
名称 途径 备注
访问时间 web server Nginx $msec
IP web server Nginx $remote_addr
域名 javascript document.domain
URL javascript document.URL
页面标题 javascript document.title
分辨率 javascript window.screen.height & width
颜色深度 javascript window.screen.colorDepth
Referrer javascript document.referrer
浏览客户端 web server Nginx $http_user_agent
客户端语言 javascript navigator.language
访客标识 cookie
网站标识 javascript 自定义对象
业务特征值我们自有业务的特殊需求.
后端的处理流程,由最开始的 大数据统计架构 已经展示了。
好了 整体 介绍了个大概, 具体的话 就是需要详细阐述 大数据统计架构的介绍了...
我整理完会发布关于 大数据统计架构.
但是现在 应该很少人需要自己去处理 这么庞大而复杂的架构了,一般选择都使用 现有的
网络统计、友盟统计、诸葛io、神策、极光、Growingio 等。